Mat创建图像并保存
第一种方法:
Mat src = new Mat();
src.create(300, 300, CvType.CV_8UC3); //创建300 * 300 ;图像类型
src.setTo(new Scalar(0, 0, 255)); //红色
Imgcodecs.imwrite("D:\\openCV_picture\\image_01.jpg", src);
第二种【常用】方法:(通道是指每个像素点的通道数)
Mat src = Mat.zeros(300, 300, CvType.CV_8UC1); //zeros : RGB(0, 0, 0) CV_8UC1通道数为1
Imgcodecs.imwrite("D:\\openCV_picture\\image_02.jpg", src);
获取图片的信息(灰度图片单通道)
Mat src = Mat.zeros(300, 200, Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
int type = src.type();
int width = src.rows();
int height = src.cols();
int channels = src.channels();
System.out.println("width:" + width);
System.out.println("height:" + height);
System.out.println("channels:" + channels);
if(CvType.CV_8UC3 == type) {
System.out.println("type : CV_8UC3");
}else if(CvType.CV_8UC1 == type) {
System.out.println("type : CV_8UC1");
}else {
System.out.println("unknown");
}
输出: