Java+OpenCV——第一节:加载与保存

           所谓“百闻不如一见”,十言不如一图。图像处理技术变得愈加的重要。而做好图像识别的第一步就是进行图像的加载与保存。以下是基于Java的示例代码。

package com.test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;;

public class OpencvEnvTest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//千里之行最重要的一步
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);//首先加载OpenCV库,防止计算机报错。
		//create pic		
		Mat src = Imgcodecs.imread("C:\\Users\\Admin\\Desktop\\lena.jpg",Imgcodecs.CV_LOAD_IMAGE_COLOR);	
		Rect rect = new Rect(90,75,100,150); 
		Imgproc.rectangle(src, rect.tl(), rect.br(), new Scalar(222,33,11),2,8,0);
	    Imgcodecs.imwrite("C:\\Users\\Admin\\Desktop\\1.jpg", src);
	    src.release();

	}
}

代码中首先要做的是

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

进行OpenCV库的加载。没有加载时会出现如下的错误:

Java+OpenCV——第一节:加载与保存_第1张图片

出现以上错误还有另一种情况,就是没有进行DLL的拷贝,需要将其拷贝进bin目录。

下面认识OpenCV读取和写入的两个函数

Imgcodecs.imread()//括号内应包含图像路径,还可以修改其读入图片的类型
例如Imgcodecs.CV_LOAD_IMAGE_COLOR表示读取成为彩色图像

Imgcodecs.imwrite()//括号内包含创建路径,可凭个人意愿进行设置

接下来可以进行画框

Rect rect = new Rect(90,75,100,150); //创建一个矩形,前两个为坐标,后两个为矩形的长和宽
Imgproc.rectangle(src, rect.tl(), rect.br(), new Scalar(222,33,11),2,8,0);

最终src运算结束,进行release释放空间。

最终运行结果为

Java+OpenCV——第一节:加载与保存_第2张图片Java+OpenCV——第一节:加载与保存_第3张图片

你可能感兴趣的:(Java+OpenCV,Java,OpenCV)