[四] 【开源】基于PyQt的图像算法开发软件——算法库[如何导入去雾算法并调参完成去雾]
系列文章
- [一] 【开源】基于PyQt的图像算法开发软件——如何让你开发效率翻倍
- [二] 【开源】基于PyQt的图像算法开发软件——输入来源[如何导入视频进行目标检测]
- [三] 【开源】基于PyQt的图像算法开发软件——步骤列表[低代码实现图像算法开发]
- [四] 基于PyQt的图像算法开发软件——算法库[如何导入去雾算法并调参完成去雾]
- [五] 【开源】基于PyQt的图像算法开发软件——已执行区和缓存区[图像工作者的“PS“工具]
- [六] 【开源】基于PyQt的图像算法开发软件——基于YOLOv5的目标检测[可交互的调整模型参数]
- [七]【开源】基于PyQt的图像算法开发软件——手动图像配准[通过可交互的四个点构建仿射矩阵]
项目已经整理部分放到github上可以运行,链接 https://github.com/yejiongkai/IIP.git,有问题欢迎交流。
不想在github上下载的,我也上传了压缩包到cdsn里,免费下载。
一、引言
在[一] 基于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 用户自定义算法
这里用导入去雾算法并调参完成去雾这个例子来说明如何导入自定义的算法