Hello,
I have done one to one translation from scala example to java as show below
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.swing.WindowConstants;
import org.bytedeco.javacpp.BytePointer;
import org.bytedeco.javacpp.annotation.ByVal;
import org.bytedeco.javacpp.indexer.FloatIndexer;
import org.bytedeco.javacpp.indexer.IntIndexer;
import org.bytedeco.javacpp.indexer.UByteIndexer;
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter.ToMat;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.*;
import org.bytedeco.opencv.opencv_imgproc.*;
import static org.bytedeco.opencv.global.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_imgcodecs.*;
import static org.bytedeco.opencv.global.opencv_imgproc.*;
public class GrabcutExample {
public static void main(String[] args) {
String file = "group.jpg";
Mat src = OpenCVUtilsJava.loadAndShowOrExit(new File(file), IMREAD_COLOR);
Rect rect = new Rect(10, 100, 380, 180);
Mat result = new Mat();
int iterCount = 5;
int mode = GC_INIT_WITH_RECT;
Mat bgdModel = new Mat();
Mat fgdModel = new Mat();
grabCut(src, result, rect, bgdModel, fgdModel, iterCount, mode);
threshold(result, result, GC_PR_FGD - 0.5, GC_PR_FGD + 0.5, THRESH_BINARY);
display(result, "Result foreground mask");
}
static void display(Mat image, String caption) {
// Create image window named "My Image".
final CanvasFrame canvas = new CanvasFrame(caption, 1.0);
// Request closing of the application when the image window is closed.
canvas.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// Convert from OpenCV Mat to Java Buffered image for display
final OpenCVFrameConverter converter = new OpenCVFrameConverter.ToMat();
// Show image on window.
canvas.showImage(converter.convert(image));
}
}
The result I am getting is just a black screen. Could anyone help me to get it right. I have also attached "group.jpg" pic if anyone tries to execute the code
With Regards,
Larienas