![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
core
suxuyu01
蒟蒻
展开
-
OpenCV学习笔记 core库6.对图像通道、对比度和亮度的操作
颜色通道的分离与合并分离颜色通道 split()函数原型//该函数有两个原型void split(const Mat& src, Mat *mvbegin);void split(InputArray m, OutputArrayOfArrays mv);第一个参数是我们需要进行分离的多通道数组第二个参数是函数的输出数组或输出的vector容器示例程序vector<Mat> channels;Mat imgBluChannel;Mat imgGreChannel;原创 2020-09-28 23:32:56 · 129 阅读 · 0 评论 -
OpenCV学习笔记 core库5.设置ROI及图像混合操作
定义方式1.RectMat imageROI;imageROI = image(Rect(500, 250, ROI_COLS, ROI_ROWS));2.Range()imageROI = image(Range(250, 250+ROI_ROWS), Range(250, 250+ROI_COLS));使用: 进行图像混合原创 2020-09-26 17:32:33 · 210 阅读 · 0 评论 -
OpenCV学习笔记 core库4.访问图像像素
访问图像像素的目的主要是对其进行操作以实现加速图像处理算法等目的。简述一下要用到的图像存储相关内容图像的存储使用矩阵,对于多通道图像,矩阵中的列会包含多个子列,故图像的行数即为矩阵的行数,图像的列数=矩阵的列数*通道数。访问方式1.指针主要用到的内容int rowNumber = tempImg.rows; //获取行数int colNumber = tempImg.cols*tempImg.channels(); //获取列数unsigned char* data = temp原创 2020-09-26 17:08:56 · 91 阅读 · 0 评论 -
OpenCV学习笔记 core库3.应用:绘制基本图形与文字
#define WINDOW_WIDHT VALUE //将VALUE改为想要的正整数值Ellipse 椭圆void DrawEllipse(Mat img, double angle){ int thickness = 2; int lineType = 8; //调用OpenCV提供的ellipse()函数进行绘制 ellipse( img, //画到的目标图像 Point(WINDOW_WIDTH/2, WINDOW_WIDHT/2 ), //中心点 Size(W原创 2020-09-23 23:56:14 · 146 阅读 · 0 评论 -
OpenCV学习笔记 core库2.其他常用数据结构
Point类 点表示二维坐标系下的点定义方法Point point;point.x=10;point.y=8;//或Point point = Point(10, 8);且OpenCV中有typedef Point_<int> Point2i;typedef Point2i Point;typedef Point_<float> Point2f;Scalar类 颜色表示有四个元素的数组,可用于传递像素值如果用不到第四个参数,则不需要写出来,只写三个参数就原创 2020-09-23 22:48:44 · 114 阅读 · 0 评论 -
OpenCV学习笔记 core库1.Mat类的使用
一.原理Mat类由两个数据部分,矩阵头和一个指向存储所有像素值的矩阵(根据所选存储方法不同,维数可以不同)的指针。①数据部分矩阵头包含矩阵尺寸、存储方法、存储地址等信息指针②成员函数二.使用不必太过考虑内存分配/释放问题①复制不同的Mat对象共享一个矩阵Mat A,C;A = imread("test.png");Mat B(A); //方式1C=A; //方式2//引用部分内容,创建一个ROIMat D(A, Rect(10,10,100,100)原创 2020-09-22 23:29:32 · 210 阅读 · 0 评论