起因
在2013年1月份发行的OpenCV 2.4.4中,对Java的支持也正式发布。同时也有支持Python。
环境配置
这里的环境配置十分简单,在这里,操作系统64位,所以选这个,将里面的opencv_java342.dll
负责到你本地下载的JDK的bin目录下,和JDK下的JRE目录下的bin目录下。
我使用的是Eclipse,在Eclipse新建Java工程后将opencv-342.jar
加入到路径中,就OK了。
这里可以验证下是否能成功运行OpenCV,代码如下:
package com.monhitul;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
public class SimpleSample {
//静态代码块定义,会在程序开始运行时先被调用初始化
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME); //得保证先执行该语句,用于加载库,才能调用其他操作库的语句,
} //否则会报 java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(IIIDDDD)J 错误
public static void main(String[] args) {
System.out.println("Welcome to OpenCV" + Core.VERSION);
Mat m = new Mat(5,10,CvType.CV_8UC1,new Scalar(0));
System.out.println("OpenCV Mat: "+m);
Mat mr1 = m.row(1);
mr1.setTo(new Scalar(1));
Mat mc5 = m.col(5);
mc5.setTo(new Scalar(5));
System.out.println("OpenCV Mat data:\n"+m.dump());
}
}
控制台输出是这样的:
这样就表示没问题。
基本矩阵操作
大家知道,在计算机视觉中,一幅图像其实就是一个由数字组成的矩阵,这些数字表