所谓“百闻不如一见”,十言不如一图。图像处理技术变得愈加的重要。而做好图像识别的第一步就是进行图像的加载与保存。以下是基于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库的加载。没有加载时会出现如下的错误:
出现以上错误还有另一种情况,就是没有进行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释放空间。
最终运行结果为