导航菜单
首页 » 无极2注册 » 正文

库克-边际检测算法6.-Paillou边际检测

在 OpenCV扩展模块里边,有一个算法:

paillou界说的 边际检测

查资料,了解是 1997年 Paillou 提出来的 改善 SAR图画的 边际检测办法。

论文在这个当地:https://ieeexplore.ieee.org/document/551947

The author presents a new linear edge detector that库克-边际检测算法6.-Paillou边际检测 is very well suited to process noisy images. Performa库克-边际检测算法6.-Paillou边际检测nces of the new operator have been evaluated using Canny's criteria together with experimental comparison results on a noisy SAR image.

一种新的 边际检测,对 噪声图画适应性比较好。

话不多说,测验作用。

调用如下:

 const Mat& src = ......
int cn = src.channels();
Mat ret;
if (direction == "both")
{
Maupiaot hMat, vMat;
ximgproc::GradientPaillouX(src, hMat, alpha, omega);
ximgproc::GradientPaillouY(src, vMat库克-边际检测算法6.-Paillou边际检测, alpha, omega);
if (resType == "abs")
{
hMat = abs(hMa库克-边际检测算法6.-Paillou边际检测t);
vMat = abs(vMat);
}
else if (resType == "cast")
{
hMat.convertTo(hMat, CV_8UC(cn));
vMat.convertTo(vMat, CV_8UC(cn));
}
ret = hMat + vMat;
}
else if (direction == "horizontal")
{
ximgproc::GradientPaillouX(src, ret, alpha, omega);
if (resType == "abs")
ret = abs(ret);
else if (resType == "cast")
ret.convertTo(ret, CV_8UC(cn));
}
else if (direction == "vertical")
{
ximgproc::GradientPaillouY(src, ret, alpha, omega);
if (resType == "abs")
ret = abs(ret);
else if (resType == "cast")
ret.convertTo(ret, CV_8UC(cn));
}
cv::normalize(ret, _dst, 0, 255, cv::NORM_MINMAX, CV_8UC(cn));//归一化到 0~255之间
dst = _dst;

alpha=2,omega=1;边际较粗

alpha=20,omega=1;边际变细

测验 Canny 算法

水平/竖直 paillou 传递给 Canny算法

这个边际检测 算法作用应该比 Sob库克-边际检测算法6.-Paillou边际检测el好一点,不过 alpha,omega 参数比较难以设置。

项目中,很少用这些算法,究竟不是很安稳的算法。不过,能够扩展 对 边际检测算法的视野。

我遇到不少搞图画处理的,竟然连最基本的边际检测 Sobel/Prewitt/Roberts/Laplace等都不明白。(许多搞图画处理的,只会标数据,然后用深度学习结构,我表明轻视)

传统图画处理、深度学习图画处理,都是东西,把握的办法越多,解决问题的才能越强。

当你手中只要一把锤子的时分,你往往会把一切的问题都当作钉子

二维码