![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
学习Opencv4.4.0
文章平均质量分 57
学习opencv4.4图像处理的功能和操作
奋斗的大庆
勤劳一日,可得一夜安眠;勤劳一生,可得幸福长眠;只有尝过苦的滋味才会更加珍惜甜
展开
-
相机标定函数说明
1.findChessboardCorners参数说明CALIB_CB_ADAPTIVE_THRESH 使用自适应阈值法把图像转换为黑白图,而不是使用一个固定的阈值。CALIB_CB_NORMALIZE_IMAGE 在利用固定阈值或自适应阈值法二值化图像之前,利用直方图均衡化图像。CALIB_CB_FILTER_QUADS 使用额外的标准(如轮廓面积,周长,正方形形状)来过滤掉在轮廓检索阶段提取的假四边形。CALIB_CB_FAST_CHECK 对图像运行一个快速检查机制以查找棋盘板的角点,原创 2021-12-12 19:29:42 · 3148 阅读 · 0 评论 -
OpenCV基础(八)-XML或YAML文件
写入或读取数据到XML或YAML文件OpenCV3之XML文件和YAML文件的文件读写原创 2020-07-23 13:45:19 · 72 阅读 · 0 评论 -
【opencv入门】相机标定
这里写目录标题一级目录二级目录三级目录**加粗样式**一级目录二级目录三级目录加粗样式原创 2020-09-23 11:30:27 · 99 阅读 · 0 评论 -
opencv(十九)-背景提取
这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录转载 2020-09-21 11:08:46 · 1004 阅读 · 0 评论 -
opencv(十八)-关键点和描述符
索引目录1.关键点的类cv::KeyPoint2.cv::Feature2D-查找并计算描述符3.cv::DMatch-匹配器4.cv::DescriptorMatcher 关键点匹配类5.关键点滤波器6. 匹配方法参考关键点和描述符的是三个主要的应用场景就是跟踪,目标识别和立体建模。不过不管是哪种用途,根本的处理逻辑确实类似的:首先找出图像中的关键点,之后选取一种描述符,最后基于关键点的描述符查找匹配 —— detect-describe-match。1.关键点的类cv::KeyPointclass原创 2020-09-21 17:09:54 · 1855 阅读 · 3 评论 -
opencv(十七)-角点检测
索引目录一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-08-04 16:56:35 · 511 阅读 · 0 评论 -
opencv(十六)-图像形态学
索引目录膨胀与腐蚀膨胀腐蚀开运算和闭运算开运算闭运算形态学梯度击中与击不中变换顶帽与黑帽变换顶帽黑帽参考文献通过阈值化分割可以得到二值图,但往往会出现图像中物体形态不完整,变的残缺,可以通过形态学处理,使其变得丰满,或者去除掉多余的像素。形态学的应用:消除噪声、边界提取、区域填充、连通分量提取、凸壳、细化、粗化等;分割出独立的图像元素,或者图像中相邻的元素;求取图像中明显的极大值区域和极小值区域;求取图像梯度void morphologyEx( InputArray src, OutputArray d原创 2020-07-27 10:56:55 · 569 阅读 · 1 评论 -
opencv(十五)-hough变换
这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-09-17 17:44:17 · 457 阅读 · 0 评论 -
opencv(十四)-图像轮廓
索引目录1.轮廓的属性2.轮廓查找并绘制3.轮廓分析3.1 常用API函数3.2 DEMO4.轮廓匹配4.1 矩与Hu矩匹配4.2 形状场景算法比较轮廓4.2.1 形状场景距离提取4.2.2 Hausdorff距离提取参考1.轮廓的属性二值图像分析最常见的一个主要方式就是轮廓发现与轮廓分析,其中轮廓发现的目的是为轮廓分析做准备,经过轮廓分析我们可以得到轮廓各种有用的属性信息、常见的如下:轮廓面积轮廓周长轮廓几何矩轮廓的最小外接矩形轮廓的最大外接矩形轮廓的最小外接圆轮廓的最小外接三角形轮廓原创 2020-09-17 11:36:16 · 1851 阅读 · 1 评论 -
opencv(十三)-快速连通区域分析
索引目录连通组件标记算法参考连通组件标记算法连接组件标记算法(connected component labeling algorithm)是图像分析中最常用的算法之一,算法的实质是扫描一幅图像的每个像素,对于像素值相同的分为相同的组(group),最终得到图像中所有的像素连通组件。扫描的方式可以是从上到下,从左到右,对于一幅有N个像素的图像来说,最大连通组件个数为N/2。扫描是基于每个像素单位,对于二值图像而言,连通组件集合可以是V={1|白色}或者V={0|黑色}, 取决于前景色与背景色的不同。对于原创 2020-09-15 10:27:01 · 2414 阅读 · 1 评论 -
opencv(十二)-二值化阈值分割
索引目录1.手动阈值分割1.1 threshold()1.2 inRange2.自动阈值分割2.1 基于灰度图均值的自动分割2.2基于直方图的自动分割2.2.1 OTSU-直方图出现双峰2.2.2 Triangle-直方图出现单峰2.3 自适应阈值分割参考1.手动阈值分割1.1 threshold()需要多次尝试,以经验加枚举的方式挨个测试,最终确定一个合适的阈值。但此阈值仅适用于这一特定的场景,光照等因素的改变可能导致阈值不再适用。所以,此方法适用与场景单一、固定的场合,如工业车间、流水线等机器人视原创 2020-07-25 10:40:31 · 1485 阅读 · 0 评论 -
opnecv(十一)-模板匹配
索引目录一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-07-30 14:49:47 · 251 阅读 · 0 评论 -
opencv(十)-图像滤波
索引目录滤波器线性滤波器方框滤波均值滤波高斯滤波非线性滤波器中值滤波双边滤波梯度滤波器sobel滤波器scharr滤波器Laplacian滤波器自定义滤波器参考滤波器线性滤波器方框滤波boxFilter()方框滤波归一化(normalized)就是把要处理的量都缩放到一个范围内,比如(0,1),以便统一处理和直观量化。均值滤波是方框滤波归一化的特例。非归一化(Unnormalized)的方框滤波用于计算每个像素邻域内的积分特性,比如密集光流算法中用到的图像倒数的协方差矩阵均值滤波blur(原创 2020-07-24 17:11:13 · 1041 阅读 · 0 评论 -
opencv(九)-直方图处理
索引目录计算直方图直方图均衡化直方图归一化直方图二值化直方图最值直方图的计算与绘制直方图对比直方图的反向投影参考计算直方图C++ Void calcHist( const Mat* images,//输入图像指针 int images,// 图像数目 const int* channels,// 通道数 InputArray mask,// 输入mask,可选,不用 OutputArray hist,//输出的直方原创 2020-07-30 10:22:05 · 270 阅读 · 0 评论 -
opencv(八)-图像变换
索引目录均匀调整图像金字塔对图像降采样-高斯金字塔对图像上采样-拉普拉斯金字塔DOG金字塔-Sift特征点的提取重映射仿射变换透视变换通用变换极坐标映射LogPolar任意映射三级目录参考均匀调整void cv::resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=cv::INTER_LINEAR)输出图像大小:① 绝对尺寸:通过dsize直接设置;② 相对尺寸原创 2020-07-29 20:44:00 · 870 阅读 · 0 评论 -
opencv(七)-TrackBar滚动条操作、键鼠响应操作
索引目录1. TrackBar滚动条操作2. 键鼠响应操作1. TrackBar滚动条操作2. 键鼠响应操作原创 2020-09-02 16:10:01 · 364 阅读 · 0 评论 -
opencv(六)-图像翻转、插值和几何形状绘制
索引目录1. 图像翻转2. 图像插值3. 几何形状绘制1. 图像翻转 Mat dst; // X Flip 倒影 flip(src, dst, 0); // Y Flip 镜像 flip(src, dst, 1); // XY Flip 对角 flip(src, dst, -1);2. 图像插值 int h = src.rows; int w = src.cols; float fx = 0.0, fy = 0.0; Mat dst = Mat::zeros(src.siz原创 2020-08-17 14:49:59 · 139 阅读 · 0 评论 -
opencv(五)-像素值的统计和归一化
https://www.cnblogs.com/taoye1997/p/11815105.htmlhttps://blog.csdn.net/qq_35294564/article/details/81035961原创 2020-07-23 09:36:08 · 424 阅读 · 0 评论 -
opencv(四)-图像像素访问的七种方法
索引目录图像在内存中的存储方式像素访问像素遍历图像在内存中的存储方式BGR而不是RGB,内存足够大,可以以连续的方式存储行,所以这些行创建单个长行,所有内容都在一个接一个的位置。我们可以使用cv :: Mat :: isContinuous()函数判断。像素访问指针访问迭代器动态地址计算opencv3访问图像像素的五种方法【OpenCV】之图像像素访问方法像素遍历OpenCV3 之 遍历图像像素的14种方法...原创 2020-07-22 11:11:59 · 3152 阅读 · 0 评论 -
opencv(三)-计时函数、通道的分离与合并、图像色彩空间转换
getTickCount()返回从上次开机算起的时钟周期数getTickFrequency()返回每秒内时钟的周期数。double t = (double)getTickCount();// do something ...t = ((double)getTickCount() - t)/getTickFrequency();cout << "Times passed in seconds: " << t << endl;...原创 2020-07-22 09:45:37 · 104 阅读 · 0 评论 -
opencv(二)-Mat矩阵操作
索引目录1. Mat矩阵操作1.1 创建矩阵1.2 赋值运算1.3 算术运算2. Mat子矩阵操作2.1子矩阵创建2.2子矩阵赋值3. Mat矩阵变形4. 常用的数据结构与基本图形绘制参考1. Mat矩阵操作1.1 创建矩阵//第一个参数是rows,第二个参数是cols Mat image(240, 320, CV_8UC3); //不能为矩阵设置初值,在改变尺寸是重新分配image矩阵 image.create(480, 640, CV_8UC3); //定义并初始化一个3×3的32bit浮原创 2020-07-21 18:40:38 · 788 阅读 · 0 评论 -
opencv(一)-环境搭建和图像加载显示
索引目录1. 图片素材1. 图片素材《数字图像处理》刚萨雷斯《特征提取与图像处理(二)》原创 2020-07-21 10:51:35 · 186 阅读 · 0 评论