Using OpenCV Java Bindings to read an image
image-processing, java, javacv, opencv
Solution
If you have correctly installed Opencv with support for Java desktop and included `opencv-2.4.4.jar` , your should import:
import org.opencv.imgproc.Imgproc;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.highgui.Highgui;
And your code will look like this:
Mat img = Highgui.imread(argv[1], Highgui.CV_LOAD_IMAGE_GRAYSCALE);
int erosion_size = 5;
Mat element = Imgproc.getStructuringElement(
Imgproc.MORPH_CROSS, new Size(2 * erosion_size + 1, 2 * erosion_size + 1),
new Point(erosion_size, erosion_size)
);
Imgproc.erode(img, img, element);
Problem
I'm using the new OpenCV Java bindings to read an image and do some processing on the image. I'm trying to convert C code to Java using the Java bindings but can't seem to find the relevant methods: C code: ``` cv::Mat img = cv::imread(argv[1]); cv::Mat gray; cv::cvtColor(img, gray, CV_BGR2GRAY); int erosion_size = 5; cv::Mat element = cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(2 * erosion_size + 1, 2 * erosion_size + 1), cv::Point(erosion_size, erosion_size) ); cv::erode(gray, gray, element); ``` I can't find: - `imread` - `cvtcolor` - `getStructuringElement` - `erode` I looked around the api here: http://docs.opencv.org/java/ Unfortunately the sample java code provided doesn't even show how to read an image!