图像处理-opencv-C++
我是马克思小清新
这个作者很懒,什么都没留下…
展开
-
图像边缘处理
问题:在利用卷积模板进行卷积的时候,都会忽略边缘的像素的卷积操作。比如:使用3*3的模板进行卷积时,明显的最外面一圈的像素值没有办法位于Kernel的中心点,所以无法进行卷积操作。解决方法:给边缘填充像素值,已满足这些点能够参与卷积运算。API:(1)copyMakeBrder(src,dst,top,bottom,left,right,borderType,color); ...原创 2019-03-15 18:29:30 · 1186 阅读 · 0 评论 -
图像的阈值操作
图像处理过程中经常会遇到这种情况:在已经完成很多处理步骤后,需要做出一个最终的决定,或者将高于或者低于某一个像素值的像素置为零,而其他像素保持不变,其中这个像素值就是我们需要的阈值。在opencv 中阈值操作可以分为全局阈值和局部阈值先说全局阈值,用的API是threshold(),它的原理:对于数组中每个值,根据其高于或者低于这个阈值做出相应的处理,给定一个数组和阈值。根据个人喜欢,也可...原创 2019-05-15 20:12:56 · 838 阅读 · 0 评论 -
opencv/C++ 获取填空题的下划线
问题描述: 对于下面的一张图片,获取其中的直线部分。能想到的有两种方式:(1)先用canny检测边缘得到边缘图片,再用霍夫直线检测边缘图片中的直线(2)先将图像通过形态学操作腐蚀掉字母,然后在通过霍夫检测将直线展示出来第一种方式的代码如下,然后用的trackbar拉动看来肯每个阈值对结果的影响。事实这种方式,效果很差。void detectline(int, ...原创 2019-07-30 11:46:19 · 341 阅读 · 0 评论 -
Opencv/C++ 去除扫描图片的白色边框
问题描述:扫描得到的图像文件,存在白色的边框,需要切除。如下图所示。解决思路:有两种方式。(1)先通过边缘检测,再进行轮廓发现或者直线检测最大外接矩形,这个方法可以自动调整角度问题。(2)先通过二值分割,再进行形态学操作,最后利用Hough直线检测找到最大外接矩形,这种方式不能自动的调整角度,肯呢个比较麻烦。这里选择第一种方式。首先考虑如果这个图片的角度正好,不需要调整的情...原创 2019-07-30 11:22:58 · 4853 阅读 · 0 评论 -
答题卡识别C++版本(一)
之前用Python+Opencv 写过答题卡识别的算法。这篇博客用的C++和Opencv来完成答题卡的识别,相关算法的思想是不变的。(一)定位答题卡的四个边角锚点因为标准答题卡的四角都有黑色的圈圈,将这些圈圈的位置定位出来,就相当于定位出四个边角锚点。定位黑色圆圈,有两种方式:(1)霍夫圆检测,找到圆心的位置,这个方法我在之前的Python版本中已经用过。但是我用C++来...原创 2019-08-16 17:25:19 · 2666 阅读 · 0 评论