GOCVHelper图像处理算法库实例整编

    GOCVHelper主要包含图像处理、图像增强和基础文件处理三个部分。由于前两个部分较具有通用性,而且我在不同项目中都进行了反复使用,为了进一步说明类库内容,这里反过来从项目角度出发,对现有的类库进行整理;
    第三个部分,增加的是从OpenCV角度出发,哪些和处理增强相关的代码在实际项目过程中得到充分使用的。
一、轮廓处理
    边界是图像处理的重要部分,所以轮廓处理肯定是图像处理中的重要内容,这里的操作,主要是为了获得“量化”的结果。
(一)轮廓的筛选
1、FindBigestContour 以及 FindnthContour(寻找最大的轮廓和寻找第N大的轮廓)
2、selectShapeArea 、selectShapeCircularity(根据轮廓的面积和圆度进行选择)
3、connection2(寻找并绘制出彩色联通区域)
(二)轮廓的处理
4、getOrientation(获得主要方向,在图上进行标绘)
5、projection2(投影到x或Y轴上)
(三)杂项
7、SmoothEdgeSingleChannel(轮廓柔化)
 
二、图像增强
    这里所谓的“图像增强”,简单来说,输入和输出都是图像。增强可以作为下一步识别的输入,也可以直接作为结果存在。根据输入的图像是3通道彩色图像还是灰白图像进行简单区分.
(一)3通道彩色图像
1、multiScaleSharpen(多尺度图像增强)
2、moveLightDiff(顶帽去光差)
3、translucence、mosaic(rect区域半透明和马赛克)
  • EasyPR https://gitee.com/liuruoze/EasyPR
4、GetHsVDistance(基于颜色直方图的距离计算)
5、Multiply、Color_Burn、Linear_Burn(正片叠底、颜色加深、线性增强)
6、EnhanceSaturation(饱和度提升)
(二)灰色图像增强
7、thin(细化算法)
8、ACE(图像局部对比度增强算法)
9、LocalNormalization(LN算法)
10、barcodeErode(条码专用腐蚀)
三、其它处理和增强代码
1、adaptiveThreshold 相对于一般的阈值化操作,当图像中出现较大明暗差距时,自适应阈值时非常有效的
2、fastNlMeansDenoising 对椒盐噪声中值滤波效果比较好,对高斯噪声非局部均值去噪效果比较好
3、equalizeHist 经典的全局直方图均衡,无需更多说明
4、CLAHE 经典的局部上下门限直方图处理,可惜OpenCV的实现好像差点意思
5、dft 傅里叶变换的最大价值在于将图像处理扩展到频率域,从而引入了很多新方法。
6、distanceTransform 《Finding distance between two curves》  代码富有弹性、函数应用合理 https://www.cnblogs.com/jsxyhelu/p/16948034.html
7、pointPolygonTest  《如何寻找已知轮廓的最大内接圆》https://www.cnblogs.com/jsxyhelu/p/16948017.html
相关代码已经被OpenCV收录:/samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp
8、图像局部特征点检测算法综述  https://www.cnblogs.com/jsxyhelu/p/16947972.html   特征点提取在“目标识别、图像拼接、运动 跟踪、图像检索、自动定位”等研究中起着重要作用;我们这里通过一个综合实验来对OpenCV提供的特征提取方法进行比对。

posted on 2022-12-22 15:46  jsxyhelu  阅读(419)  评论(0编辑  收藏  举报

导航