Opencv入门:imread、imwrite、imshow、cvtColor的使用

一、imread
1.加载文件图像成为一个 Mat 对象,nameWindow 功能是创建一个OpenCV窗口;
(存在一个和QT结合的修改窗口大小的宏 CV_WINDOW_NORMAL);
2.第一个参数是图像文件名称(路径),第二个参数参数表示加载的图像是什么类型(以下三个宏);
无参就是>1;
宏:
IMREAD_UNCHANGED(<0) ,表示加载原图,不做改变;
IMREAD_GRAYSCALE(0), 表示把原图作为灰度图加载进来;
IMREAD_COLOR(>0), 表示把原图作为RGB图像加载进来;

#include "pch.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
 	Mat mat =  imread("C://Users//Desktop//1.jpg",CV_IMREAD_GRAYSCALE); 
	 if (mat.empty()) 
 	{  
	 cout << "没有找到图片!" << endl; 
	 return -1;
        } 
	 namedWindow("img",WINDOW_AUTOSIZE);//窗口大小自适应
	 imshow("img", mat);     
	 waitKey(0); 
	 return 0}

二、imshow
1.根据窗口名称显示图像到指定的窗口上,第一个参数是窗口名称,第二个参数是Mat对象;
三、cvtColor
1.把图像从一个彩色空间转换到另外一个彩色空间,有三个参数,第一个参数表示源图像,第二参数表示色彩空间转换之后的图像,第三参数表示源和目标色彩空间,如:COLOR_BGR2HLS,COLOR_BGR2GRAY等;以下代码接上一段代码return前,因为已经显示为灰度图,选用CV_BGR2GRAY会导致debug error;

	namedWindow("img",CV_WINDOW_AUTOSIZE); 
        Mat output; 
        cvtColor(mat, output, CV_BGR2GRAY);//RGB转灰度图
        imshow("img", output)

四、imwrite
1.保存图像,保存图像到指定目录路径;
2.只有8位、16位的 PNG/JPG/TIFF 文件格式并且是单通道或者三通道的RGB图像才可以通过这种方式保存;
3.保存PNG格式的图片时可以保存透明通道的图片;
4.可以指定压缩参数;
imwrite(“C:\Users\Desktop\1.png”,output);接上面代码,参数自行体会;

PS:如有疑问,请在下方评论。

猜你喜欢

转载自blog.csdn.net/qq_45014727/article/details/102725866