Diff image in JavaCV

44 views
Skip to first unread message

shira Jacobs

unread,
Nov 2, 2022, 8:51:38 AM11/2/22
to javacv
Hey,
trying for a long time to get the diff image between 2 images in JavaCV 
did anyone have an example/link to help me with this?


appreciate any help!
Shira.

Tamada

unread,
Nov 7, 2022, 8:12:24 AM11/7/22
to javacv
What do you mean by diff image?

shira Jacobs

unread,
Nov 8, 2022, 4:08:15 AM11/8/22
to javacv
Image with shown the different pixels

ב-יום שני, 7 בנובמבר 2022 בשעה 15:12:24 UTC+2, volce...@gmail.com כתב/ה:

Keith Hall

unread,
Nov 8, 2022, 10:27:12 AM11/8/22
to javacv

something like this?
import org.bytedeco.javacpp.indexer.UByteIndexer;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Scalar;

import static org.bytedeco.opencv.global.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_imgcodecs.*;


public class JavaCVDiffImages {

public static void main (String[] params){
String input_img_1 = "data\\OpenCV_logo_no_text.png";
String input_img_2 = "data\\OpenCV_logo_no_text_2.png";
try {
Mat src_1 = imread(input_img_1);
Mat src_2 = imread(input_img_2);
Mat diffImage = new Mat();
absdiff(src_1, src_2, diffImage);
Scalar maskscalar = new Scalar(0, 0, 0, 1);
Mat mask = new Mat(diffImage.rows(),diffImage.cols(),CV_8UC1, maskscalar);
final UByteIndexer resizeIdx = diffImage.createIndexer();
final UByteIndexer maskIdx = mask.createIndexer();
for (long hh = 0; hh < diffImage.rows(); hh++) {
for (long ww = 0; ww < diffImage.cols(); ww++) {
if (resizeIdx.get(hh, ww) > 30) {
maskIdx.put(hh, ww, 255);
}
}
}
imwrite("data\\OpenCV_logo_no_text_diff.png", mask);

} catch (Exception e){
System.out.println(e.getMessage());

shira Jacobs

unread,
Nov 9, 2022, 4:43:52 AM11/9/22
to javacv
Wooow u my men that works great!

ב-יום שלישי, 8 בנובמבר 2022 בשעה 17:27:12 UTC+2, the.kei...@gmail.com כתב/ה:
Reply all
Reply to author
Forward
0 new messages