opencv图像基本操作

文章目录

路径中的正斜杠与反斜杠https://blog.csdn.net/rammuschow/article/details/81776595
1、windows系统中默认使用反斜杠,也可以使用正斜杠,访问文件目录
2、但是windows编程中,必须写成如下形式:

F:\Code\Q1Branch

因为在程序代码中,反斜杠是转义字符标志,如果写成“F:\Code\Q1Branch”,那么\C就会被识别为一个字符,同理,\Q也会被识别为 一个字符。

3、在DOS命令中,必须使用反斜杠,使用正斜杠路径是不可识别的.

二、
API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
(解释得太漂亮了,硬是明白不进去,姑且记住API是应用程序接口,
1、
opencv中加载图像的API是imread)
2、
创建窗口的API是namedWindow
namedWindow(“参数1”, 参数2);
参数1:新建的窗口的名称。自己随便取。

参数2:窗口的标识,一般默认为WINDOW_AUTOSIZE 。

  • WINDOW_NORMAL 用户可以改变这个窗口大小(可以手动改变大小)
  • WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。
  • WINDOW_OPENGL 窗口创建的时候会支持OpenGL(没试过)

3、
显示图像的API是imshow
imshow(“参数1”, 参数2);
参数1是窗口名称,参数2是要显示的图像,如Mat img; img就是这样一个图像

#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
    std::cout << "Hello World!\n";
	Mat img;
	img = imread("C:\\Users\\xuyingjia\\Desktop\\test.jpg");
	if (img.empty()) {
		cout << "请确认图像文件名称是否正确" << endl;
		return -1;
	}
	//namedWindow(INPUT_TITLE,CV_WINDOW_AUTOSIZE);
	namedWindow("窗口1", WINDOW_AUTOSIZE);
	imshow("窗口1", img);
	waitKey(0);

4
修改图像的API是cvtColor
1.修改图像是什么?
修改图像就是对图像进行一系列像素操作,把图像从一个彩色空间转换到另外一个色彩空间。
2、cvtColor函数原型是

void cv::cvtColor (InputArray src,OutputArray dst,int code,int dstCn = 0 ) 
//第一个参数,表示输入图像:8位无符号的16位无符号(CV_16uc。…),或者单精确度浮点数。
//第二个参数,表示要输出图像,与输入图像有相同的尺寸和深度。
//第三个参数,表示图像转码方式,比如从三通道的彩图转向单通道的灰度图。
//第四个参数,通道数量的目标图像;如果该参数为0时,信道数代码和从SRC中自动得到。

例如:

cvtColor(src1, src2, CV_RGB2GRAY);

OpenCV4、C++:未定义标识符 “CV_RGB2GRAY“ 的解决方案
6
保存图像 的API是imwrite
保存图像文件到指定目录路径,但是有要求,只有8位、16位的PNG、JPG、Tiff文件格式而且是单通道或者三通道的BGR的图像才可以通过这种方式保存。而且,保存PNG格式的时候可以保存透明通道的图片。

imwrite("D:/image/src2.jpg", src2);

多方借鉴,感谢前人总结。
Last but not least, 没别的想煽情的,就那么一句:我简直就是个小学生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值