0 前言
首先声明,这是偶然在某个地方看到的案例,图片也只有1张,而且是halcon实现的代码,本人对halcon不懂。于是在好奇心驱使下,使用opencv c++去实现一下。后面对检测出的缺陷部分还应该有后续的处理,但这里就省去了。在此主要是记录思想,思想是第一位的。
原图案例中仅有的1张原图(原始图是6000x5000,很大,无法在博客上传原图),其有损保存图如下:
1 实现说明
代码主要展示了3种方法,其本质都是阈值分割:
1)普通平滑
2)频域平滑(涉及傅里叶变换)
3)黑帽操作(关于黑帽操作是什么,网上有太多参考,不予展开)
2 代码部分
butterWorthLowPaassFilter.hpp(巴特沃斯低(高)通滤波),低通滤波的效果其实就是对图像进行模糊。
#pragma once
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace std;
using namespace cv;
//***********