Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions lib/src/algorithms.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'dart:math';

import 'package:image/image.dart';

/// Abstract class for all algorithms
Expand Down Expand Up @@ -309,7 +310,7 @@ class IMED extends DirectAlgorithm {
}

/// Helper function to return grayscale value of a pixel
int _grayValue(Pixel p) {
num _grayValue(Pixel p) {
return getLuminanceRgb(p._red, p._green, p._blue);
}

Expand Down Expand Up @@ -660,7 +661,7 @@ class RGBAHistogram {
redHist = List.filled(_binSize, 0.0);
greenHist = List.filled(_binSize, 0.0);
blueHist = List.filled(_binSize, 0.0);
alphaHist = List.filled(_binSize, 0.0);
alphaHist = List.filled(_binSize, 0.0);
}
}

Expand Down Expand Up @@ -694,7 +695,7 @@ class ChiSquareDistanceHistogram extends HistogramAlgorithm {

sum += _diff(_histograms._first.redHist, _histograms._second.redHist) +
_diff(_histograms._first.greenHist, _histograms._second.greenHist) +
_diff(_histograms._first.blueHist, _histograms._second.blueHist) +
_diff(_histograms._first.blueHist, _histograms._second.blueHist) +
(alphaBit * _diff(_histograms._first.alphaHist, _histograms._second.alphaHist));

return sum / (3 + alphaBit);
Expand Down Expand Up @@ -756,7 +757,7 @@ class IntersectionHistogram extends HistogramAlgorithm {

sum += _diff(_histograms._first.redHist, _histograms._second.redHist) +
_diff(_histograms._first.greenHist, _histograms._second.greenHist) +
_diff(_histograms._first.blueHist, _histograms._second.blueHist) +
_diff(_histograms._first.blueHist, _histograms._second.blueHist) +
(alphaBit * _diff(_histograms._first.alphaHist, _histograms._second.alphaHist));

return 1 - (sum / (3 + alphaBit));
Expand Down
9 changes: 6 additions & 3 deletions lib/src/functions.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import 'algorithms.dart';
import 'dart:typed_data';

import 'package:image/image.dart';
import 'package:universal_io/io.dart';

import 'algorithms.dart';

/// Compare images from [src1] and [src2] with a specified [algorithm].
/// If [algorithm] is not specified, the default (PixelMatching()) is supplied.
///
Expand Down Expand Up @@ -90,7 +93,7 @@ Future<Image> _getImageFromDynamic(var src) async {
} else if (src is Image) {
err += '$src. $src.data.length != width * height';

if (src.height * src.width != src.data.length) {
if (src.height * src.width != src.data?.length) {
throw FormatException(err);
}

Expand All @@ -111,7 +114,7 @@ Future<Image> _getImageFromDynamic(var src) async {
Image _getValidImage(List<int> bytes, String err) {
var image;
try {
image = decodeImage(bytes);
image = decodeImage(Uint8List.fromList(bytes));
} catch (Exception) {
throw FormatException("Insufficient data provided to identify image.");
}
Expand Down
12 changes: 6 additions & 6 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0"
version: "1.17.0"
crypto:
dependency: transitive
description:
Expand All @@ -28,14 +28,14 @@ packages:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
version: "4.0.12"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.0"
version: "1.8.0"
path:
dependency: transitive
description:
Expand All @@ -56,7 +56,7 @@ packages:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
version: "5.1.0"
typed_data:
dependency: transitive
description:
Expand All @@ -77,6 +77,6 @@ packages:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.2"
version: "6.2.2"
sdks:
dart: ">=2.12.0 <3.0.0"
dart: ">=2.18.0 <3.0.0"
8 changes: 4 additions & 4 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ repository: https://github.com/nitinramadoss/image_compare
version: 1.1.2

environment:
sdk: ">=2.12.0 <3.0.0"
sdk: ">=2.18.0 <3.0.0"

dependencies:
image: ^3.0.0
universal_io: ^2.0.0
image: ^4.0.12
universal_io: ^2.0.4

dev_dependencies:
pedantic: ^1.9.0
pedantic: ^1.11.1

assets:
- assets/
Expand Down