opencv(1)读取图片、颜色空间变换、保存图片
1、读取图片——imread
Mat img = imread("002.jpg"); //图片和主程序在同一文件夹下 Mat img = imread("D:/002.jpg"); //图片和主程序不在同一文件夹下,/和//均可
2、颜色空间变换——vcColor
cvtColor(img,img0,CV_BGR2GRAY); //把BGR的img转换成灰度图像的img0
OpenCV中默认的颜色排列方式为BGR而非RGB,转换最长用就是BGR2GRAY即将彩色图像变成灰度图像。
3、创建图像窗口——namedWindow
namedWindow("Gray", WINDOW_NORMAL);
创建一个名叫Gray的窗口,不加WINDOW_NORMAL时,如果图片太大会出现显示不全的情况。
4、保存图像——imwrite
imwrite("003.jpg", img0); //将img0保存成003.jpg
保存的图片格式由后缀名决定,“”和imread一样。
完整代码:
#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> using namespace cv; int main() { // 读入一张图片 Mat img = imread("002.jpg"); //Mat img = imread("D:/002.jpg"); // 创建一个名为 "图片"窗口 namedWindow("图片",WINDOW_KEEPRATIO); // 在窗口中显示图片 imshow("图片", img); Mat img0; cvtColor(img,img0,CV_BGR2GRAY); namedWindow("Gray", WINDOW_NORMAL); // 在窗口中显示图片 imshow("Gray",img0); imwrite("003.jpg", img0); waitKey(0); return 0; }
运行结果:
参考博客:
https://blog.csdn.net/keith_bb/article/details/53470170