Basic knowledge of Opencv -image read、presentation、convert and write
1.Read
IMREAD_UNCHANGED 加载原图,不做任何处理
IMREAD_GRAYSCALE 把原图作为灰度图加载进来
IMREAD_COLOR 作为RGB图像加载进来
IMREAD_ANYCOLOR 读取图像时将其转换为任意颜色格式。这个标志主要用于确保图像以彩色格式读取,即使源图像本身是灰度图像,也会将其转换为彩色图像。 //当你需要确保图像以彩色格式进行处理,而源图像格式不确定(可能是灰度图像或彩色图像)时,使用 IMREAD_ANYCOLOR 可以保证图像以彩色格式读取。
Mat img = imread("D:/Images/zhang1.jpg", IMREAD_COLOR); if (img.empty()) { printf("无法正常加载图像\n"); return 0; }
2.presentataion
OpenCV 库中有用于显示图像的一个独立函数,基于操作系统原生的窗口管理机制,如windows的win32API。在测试阶段可以展示自己的阶段性的处理结果。主要用到的几个函数
在window销毁之前,可以通过window的name选择要操作的window。
//由opencv自动创建和销毁的一个图像窗口,无需自己手动销毁 //flag 窗口类型 WINDOW_AUTOSIZE 自适应图像大小
// WINDOW_FREERATIO 可以自己拖动窗体大小 namedWindow("pic", WINDOW_AUTOSIZE); //将图像img显示到指定名称的窗口中 cv::moveWindow("pic", 100, 100); resizeWindow("pic", Size(500, 800)); imshow("pic", img);
waitKey(0); //显示的时长 0为等待键入
destroywindow("pic");
destroyAllWindows();
3.convert
enum: COLOR_xxx 最常用的是RGB2GRAY RGB2HSV
cvtColor(img, hsv, COLOR_BGR2HSV);
4.write
//保存到指定位置的文件 格式由后缀决定
imwrite("zhanghuiwen.png", out_img);
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号