我找到了符合我要求的东西:
import java.net.URL;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
public class helloCV{
public static void main(String[]args){
System.out.println(Core.VERSION);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
mat = Highgui.imread("C:\\Users\\HM\\Pictures\\ImageDemo.png");
System.out.println("mat = " + mat.dump());
}
}
我猜这会打印每个像素的 RGB 值矩阵:
run:
2.4.9.0
mat = [88, 88, 88, 127, 127, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255;
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255;
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255;
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255;
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
其中前 3 个数字 (88, 88, 88) 表示第一个像素的 RGB 颜色,依此类推,每个像素每 3 个数字。我是对的?
但是Mat mat = Mat.eye(3, 3, CvType.CV_8UC1) 和mat.dump() 是什么意思?