OPENCV入门(2)
通过学习贾志刚老师OpenCV入门教程及其他学习资源所得,不足之处,欢迎指正!
cvtColor:空间转换函数,可实现RGB向HSV,HSI等颜色空间的转换,也可转化为灰度图像
void cvCvtColor( const CvArr* src, CvArr* dst, int code );
src:原图像,输入的 8-bit,16-bit或 32-bit单倍精度浮点数影像。
dst:转换之后的图像,输出的8-bit, 16-bit或 32-bit单倍精度浮点数影像。
code:色彩空间转换的模式,实现不同类型的颜色空间转换。
- CV_BGR2GRAY表示转换为灰度图,dst需要是单通道图片
- CV_BGR2HSV将图片从RGB空间转换为HSV空间,对于8位图,需要将RGB值归一化到0-1之间。这样得到HSV图中的H范围才是0-360,S和V的范围是0-1
cvtColor( image, gray_image, COLOR_BGR2GRAY);
示例代码部分如下:
Mat src_image;
cvtColor(src, src_image, COLOR_BGR2GRAY);
运行效果如下:
imwrite: 保存图像文件到指定目录路径 只有8位、16位的PNG、JPG、Tiff文件格式而且是单通道或三通道的BGR的图像才可以通过这种方式保存 ,保存PNG格式的时候可以保存透明通道的图片 ,可以指定压缩参数
imwrite("E:/char/rbgray.png", src_image);
运行效果如下: