OpenCV学习
文章平均质量分 55
记录我学习OpenCV的过程:跟随OpenCV3入门编程(毛星云著)进行学习,使用OpenCV4.5.5(最新版本)和VS2022(最新版本)。
ymingd
本科通信工程,研究生光学工程。对于通信、几何光学有一点皮毛了解,研究生课题是光场成像,主要方向是光场图像超分;目前在一家医疗器械公司,主要是三维图像的传统算法研究。希望有时间学习一点新知识,能够了解一些新方向。
展开
-
2023-03-05:二维图像连通域计算方法
并查集(Disjoint-Set);连通域标记;两次遍历原创 2023-03-12 17:43:33 · 312 阅读 · 0 评论 -
2022-6-12:OpenCV入门(十一)feature2d组件——角点检测
角点检测原创 2022-06-11 22:20:07 · 431 阅读 · 0 评论 -
2022-6-6:OpenCV入门(十)imgproc组件学习之六——直方图与匹配
本章我们学习了广泛运用于很多计算机视觉运用当中的直方图,而简单点说,直方图就是对数据进行统计的一种方法。然后还讲到了反向投影和模板匹配。所谓反向投影就是首先计算某一特征的直方图模型,最后使用模型去寻找图像中存在的该特征的方法。而模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。...原创 2022-06-11 18:33:56 · 420 阅读 · 0 评论 -
2022-6-1:OpenCV入门(九)imgproc组件学习之五——图像轮廓和图像分割
图像轮廓和图像分割原创 2022-06-05 16:52:01 · 780 阅读 · 0 评论 -
2022-5-28:OpenCV入门(八)imgproc组件学习之四——图像变换
边缘检测滤波增强检测1.canny算子void Canny(InputArray image,OutputArray edges,double threshold1,double threshold2,int apertureSize=3,bool L2gradient=false)//第一个参数:输入图像;第二个参数:输出的边缘图;第三个参数:第一个滞后性阈值;第四个参数:第二个滞后性阈值;五个参数:Sobel算子的孔径大小;第六个参数:一个计算图像梯度值的标识。2.Sobel算子原创 2022-05-28 20:18:58 · 289 阅读 · 0 评论 -
2022-5-25:OpenCV入门(七)imgproc组件学习之三——漫水填充、图像金字塔与尺寸缩放
漫水填充所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,这是个非常有用的功能,经常用来标记或者分离图像的一部分进行处理或分析。int floodFill(InputOutputArray image, Point seedPoint, Scalar newVal, Rect* rect=0,Scalar loDiff=Scalar(),Scalar upDiff=Scalar(),int flags=4)//第一个参数:输入输出图像;第二个参数:起始点;第三个参原创 2022-05-26 21:12:21 · 314 阅读 · 0 评论 -
2022-5-24:OpenCV入门(六)imgproc组件学习之二——形态学滤波
一、膨胀与腐蚀膨胀与腐蚀的功能消除噪声;分割( isolate)出独立的图像元素,在图像中连接( join)相邻的元素;寻找图像中的明显的极大值区域或极小值区域;求出图像的梯度。膨胀( dilate)就是求局部最大值的操作void dilate(InputArray src,OutputArray dst,InputArray kernel,Point anchor=Point(-1,-1),int iterations=1,int borderType=BORDER_CONS原创 2022-05-24 21:24:13 · 436 阅读 · 0 评论 -
2022-5-23:OpenCV入门(五)imgproc组件学习之一——线性和非线性滤波
一、线性滤波方框滤波void boxFilter(InputArray src,OutputArray dst, int ddepth,Size ksize, Point anchor =Point(-1,-1),boolnormalize=true,int borderType =BORDER_DEFAULT)//第一个参数:输入图像;第二个参数:输出图像;第三个参数:输出图像的深度;第四个参数:内核大小;//第五个参数:表示锚点(被平滑的那个点),默认值Point(-1,-1)表示在核中心;第原创 2022-05-23 20:00:28 · 321 阅读 · 0 评论 -
2022-5-8:OpenCV入门(四)core组件进阶
1.LUT函数:Look up tableMat lookUpTable(1,256,CV_8U);u从三个都说副高fdffffDdqqqdqddq FQFQ2Q2W GW 问对方成为亲卫队请问我去问驱蚊器委屈委屈强强 char* p = lookUpTable.data;for(int i = 0 ; i < 256 ; ++i) p[i] = table[i];//然后调用函数(I是输入 J是输出):for (int i = 0; i < ti原创 2022-05-09 22:01:37 · 402 阅读 · 0 评论 -
2022-5-3:OpenCV入门(三)数据结构与基本绘图
1.Mat结构1.几种Mat类复制方法可以创建只引用部分数据的信息头,如下:Mat D(A,Rect(10,10,100,100));//使用矩形界定Mat E=A(Range:all(),Range(1,3));//使用行和列界定2.显示创建Mat对象的七种方法(1)使用Mat()构造函数Mat M(2,2,CV_8UC3,Scalar(0,0,255));//CV_[位数][带符号与否][类型前缀]C[通道数]cout << "M=" << endl <&原创 2022-05-03 23:17:19 · 2213 阅读 · 0 评论 -
2022-4-26:OpenCV入门(二)认识HighGUI图形用户界面
1.图像载入Mat imread(const strings& filename, intflags=1);//第一个为读取图像的路径;第二个为图像的颜色空间类型。2.图像显示void imshow(const string& winname,IputArray mat)//第一个为需要显示的窗口名称,第二个为需要显示的图像。3.显示窗口void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE)原创 2022-04-27 21:30:11 · 2486 阅读 · 0 评论 -
2022-4-25:OpenCV入门(一)快速上手OpenCV图像处理
1.图像显示// 引入OpenCV头文件#include<opencv2/opencv.hpp>// 使用OpenCV命名空间cvusing namespace cv;int main(){ Mat image = imread("E:\\OpenCV_learn\\1.bmp");//载入图像 imshow("【原始图】", image);//显示图像 waitKey(0); destroyAllWindows(); //如果之前没有释放掉内存的原创 2022-04-25 16:45:54 · 2019 阅读 · 0 评论 -
2022-4-23:OpenCV的环境搭建
1.下载安装OpenCV进入OpenCV官方网站下载你想要的版本型号,下载后得到.exe执行文件。点击解压选择合适的安装位置即可完成安装。2.安装Visual Studio进入Visual Studio官方网站下载你想要的版本型号,下载后得到.exe执行文件,点击后进行安装,并选择C++桌面开发和合适的安装位置。3....原创 2022-04-23 19:13:00 · 2415 阅读 · 0 评论