基于PyQt的图像算法开发软件——算法库[如何导入去雾算法并调参完成去雾]
这是我本科时候的一个练手项目,代码写的并不是很优雅,还请见谅
项目已经整理部分放到github上可以运行,链接 https://github.com/yejiongkai/IIP.git,有问题欢迎交流。
一、引言
在[一] 基于PyQt的图像算法开发软件——如何让你开发效率翻倍中,展示了该软件基于截图功能获取输入源进行图像处理的使用流程。在本篇章,我将对软件中的算法库进行更加详细的介绍。
二、算法库
软件执行的算法可以分为 内置算法和 用户自定义算法。其中内置算法在选择时会有参数提示,用户自定义算法需要用户自己记得参数的顺序。内置算法主要基于opencv进行轻量封装,共有40多个算法供用户选择。考虑到用户在大多数时候还是测试自己的算法,因此提供了一个自定义算法接口
2.1 内置算法
- 滤波处理: Blur(均值滤波), MedianBlur(中值滤波), GaussianBlur(高斯滤波), HomoFilter(同态滤波), MatchFilter(匹配滤波), FloodFill(漫水填充), BilateralFilter(双边滤波), NLM(非局部均值), HighPassFilter(高频滤波), LowPassFilter(低频滤波), MaxFilter(最大值滤波), MinFilter(最小值滤波), GaussianBandFilter(高斯带阻滤波), IdealBandFilter(理想带阻滤波), ButterworthBandFilter(巴特沃斯带阻滤波), GuideFilter(导向滤波), MeanShiftFilter(均值飘移)
- 增强: EqualizeHist(直方图均衡化), Gamma(Gamma变换), AdaptEqualizeHist(自适应直方图均衡化), ConvertScaleAbs(对比度亮度调整), AdaptContrastEnhancement(自适应对比度增强), LogChange(Log变换), Negate(取反), Threshold(阈值化), AdaptiveThreshold(自适应阈值化)
- 形态学操作: ERODE(腐蚀), DILATE(膨胀), OPEN(开操作), CLOSE(闭操作), TOPHAT(顶帽), BLACKHAT(黑帽)
- 边缘检测: Gabor, Canny, HoughLine, Prewitt, Robert, Sobel, Laplacian, USM
- 小波变换: Dwt_Erode(用腐蚀去噪), Dwt_Gauss(用高斯去噪), Dwt_Threshold(用阈值化去噪), Dwt_User(自定义去噪)
- 噪声: GaussNoise(高斯噪声)
- 其他: Add(相加), Normalize(归一化), 灰度直方图, 3D图像显示, Resize(修改图像大小), Subtract(相减), Capture(设置颜色区间), Maximum(取极大值), Minimum(取极小值), GrayToBGR(灰度转BGR), GrayToHSV(灰度转HSV), GrayToYUV(灰度转YUV)
2.2 用户自定义算法
这里用导入去雾算法并调参完成去雾这个例子来说明如何导入自定义的算法
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YJK的博客!