OpenCV静心修炼总结篇1——加载、 修改、 保存图像

加载图像(用 cv::imread)


imread 功能是加载图像文件成为一个 Mat 对象, 其中第一个参数表示图像文件名称第二个参数, 表示加载的图像是什么类型, 支持常见的三个参数值:
IMREAD_UNCHANGED (<0) 表示加载原图, 不做任何改变;
IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来;
IMREAD_COLOR (>0) 表示把原图作为 RGB 图像加载进来;
注意: OpenCV 支持 JPG、 PNG、 TIFF 等常见格式图像文件加载。

显示图像 (cv::namedWindos 与 cv::imshow)


namedWindos 功能是创建一个 OpenCV 窗口, 它是由 OpenCV 自动创建与释放,你无需取销毁它。 常见用法 namedWindow("Window Title", WINDOW_AUTOSIZE)。
imshow 根据窗口名称显示图像到指定的窗口上去, 第一个参数是窗口名称, 第二参数是 Mat 对象。


修改图像 (cv::cvtColor)


cvtColor 的功能是把图像从一个彩色空间转换到另外一个色彩空间, 有三个参数,第一个参数表示源图像、 第二参数表示色彩空间转换之后的图像、 第三个参数表示源和目标色彩空间如: COLOR_BGR2HLS 、 COLOR_BGR2GRAY 等。
cvtColor( image, gray_image, COLOR_BGR2GRAY );


 保存图像(cv::imwrite)


保存图像文件到指定目录路径, 只有 8 位、 16 位的 PNG、 JPG、 Tiff 文件格式而且是单通道或者三通道的 BGR 的图像才可以通过这种方式保存, 保存 PNG 格式的时候可以保存透明通道的图片, 可以指定压缩参数


参考代码:

/* 基本操作, 加载图像 修改图像, 显示图像, 保存图像 */
int image_open_save()
{
Mat src=imread("E:\\1.png"); // 载入图片
if(!src.data)
{
printf("不能加载图片\r\n");
return -1;
} n
amedWindow("test1",CV_WINDOW_AUTOSIZE); // 新建窗口
imshow("test1",src); // 显示图像
namedWindow("test2"); // 新建窗口
Mat out_image;
cvtColor(src,out_image,COLOR_BGR2GRAY); //图像转换
imshow("test2",out_image); // 显示图像
imwrite("E:\\01.jpg",out_image); // 保存图像
waitKey(0);
}

猜你喜欢

转载自blog.csdn.net/qq_27762895/article/details/83958001