cvtColor彩色空间转换-------opencv2.4.11(Java)

时间:2023-02-05 11:22:45

cvtColor彩色空间转换-------opencv2.4.11(Java)

imshow函数在Java中被去掉了,只能通过imwrite()保存为图片后再查看图像处理的效果。

1、cvtColor()

通过查看官方文档:

函数定义:public static void cvtColor(Mat src,Mat dst,int code)
Imgproc.cvtColor(source mat, destination mat1, Color_Conversion_Code);
通过org.opencv.imgproc.Imgproc.cvtColor可以知道,cvtColor定义在org.opencv.imgproc.Imgproc中,要使用cvtColor函数要引入org.opencv.imgproc.Imgproc。引入方法为:import org.opencv.imgproc.Imgproc;

示例1

(1)新建java工程,名为LoadImage,新建一个类“LoadImage”。

(2)新建一个文件夹“Resources”,并将待处理图像拷贝进去,然后新建一个文件夹“Result”,用于输出图像的输出。

(3)添加“opencv-2.4.11”。

cvtColor彩色空间转换-------opencv2.4.11(Java)

代码:

import org.opencv.core.Mat;//Mat结构
import org.opencv.highgui.Highgui;//用于图像读取
import org.opencv.imgproc.Imgproc;//cvtColor位于此处
import org.opencv.core.CvType;

public class LoadImage {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.loadLibrary("opencv_java2411");//加载库
Mat image = Highgui.imread("./Resources/123.jpg");//读入图像
Mat dst=new Mat(image.rows(),image.cols(),CvType.CV_8UC1);//新建目标
输出图像
Imgproc.cvtColor(image, dst,Imgproc.COLOR_RGB2GRAY);//进行图像彩色空间转换
String filename = "./Result/gray.jpg";
System.out.println(String.format("Writing %s", filename));
Highgui.imwrite(filename, dst);//保存图像到Result目录中
}
}

运行结果

cvtColor彩色空间转换-------opencv2.4.11(Java)  cvtColor彩色空间转换-------opencv2.4.11(Java)