一、读取、显示、修改、保存图片
1、读取图片imread("此处添加图片路径");
2、显示图片imshow("弹框名称", 图片名称);
3、修改图片颜色cvtColor(要修改的图片, 修改后的图片,目标彩色空间);
例:彩色图转灰度cvtColor(src, gray_image, COLOR_BGR2GRAY);
4、保存图像:imwrite("添加存储路径.文件格式",添加的图片名称);
5、waitKey的使用,其有一个参数
waitKey(n);
代表等待n毫秒后,关闭显示的窗口
当等待时间内无任何操作时,等待结束后返回-1;
当等待时间内有字符输入时,返回输入字符所对应的ASII码所对应的十进制值;
waitKey(0);
和waitKey();
均代表无限等待
6、namedWindow的使用,其有两个参数,第一个参数为窗口的名字,第二个参数为窗口的类型。不是必须要创建一个窗口,但需要对窗口进行操作时,必须创建。
- 类型1 WINDOW_AUTOSIZE 一般默认类型,窗口大小自动适应图片大小,并且不可手动更改。
- 类型2 WINDOW_NORMAL 用户可以改变这个窗口大小。
namedWindow("窗口名称", 窗口类型);
示例代码(读取、显示、修改、保存图片):
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("C:/Users/26839/Pictures/图片1.png");//读取一张图片为src
namedWindow("input", WINDOW_AUTOSIZE);//创建一个窗口
imshow("input", src);//显示这幅图片,弹框信息为input
Mat output_image;//定义一张待处理的图片命名为output_image
cvtColor(src, output_image, COLOR_BGR2GRAY);//将src转换为灰度图像,处理后的图像为output_image
//cvtColor(src, output_image, 40);//可以转换为色彩空间任一颜色
imshow("output", output_image);//显示处理后的图片,弹框信息为output
imwrite(""C:/Users/26839/Pictures/1.png", output_image);//将处理后的图片output_image存入目标路径下,并命名为1,格式为png
waitKey(0);//设置一个延时,防止图片一闪而过
destroyAllWindows();
return 0;
}
输出运行结果如下所示:
原始图像
转灰度图像
转任意色彩空间(这里以40为例)图像