输入:
首选输出: br />
如上面的首选输出一样,如果我只剩下尖刺的对象,我应该寻找什么图像处理方法?
#1 楼
“尖峰对象”的边界上有更多的角,因此一种方法是为此调整一个角检测器。例如,我计算了结构张量的行列式(下面的Mathematica代码)的距离转换后的图像:通过滞后二值化可以生成此图像,这应该是您选择的分割算法的良好起点:
Mathematica代码(
src
是您发布的源图像)首先,我计算输入图像的距离变换。这样会在整个对象区域(而不只是边界)上形成对比度,因此可以检测到整个对象。
下一步,我准备结构张量的分量。高斯导数的过滤器大小(如果为5),窗口大小为20。张量的形式:
dist = ImageData[DistanceTransform[src]];
与以下基本相同:
gx = GaussianFilter[dist, 5, {1, 0}];
gy = GaussianFilter[dist, 5, {0, 1}];
gx2 = GaussianFilter[gx^2, 20];
gxy = GaussianFilter[gx*gy, 20];
gy2 = GaussianFilter[gy^2, 20];
将其转换为图像并将其缩放到0..1范围会产生上面的拐角检测器图像。最后,使用正确的阈值对它进行二值化处理,得到最终的二进制图像: br />
评论
$ \ begingroup $
很酷的答案! =)
$ \ endgroup $
– Phonon
2012年3月4日在1:54
$ \ begingroup $
您的答案是惊人的,我从中学到了很多。
$ \ endgroup $
–安德烈(Andrey Rubshtein)
2012年10月11日上午11:40
评论
3D二进制图像是什么意思?您可以轻松地将图像分割成各个部分吗?3D表示断层图像。
您能解释什么是尖刺物体吗?真正叫它尖刻的是什么?识别尖刺物体的主要特征是什么?
在这种情况下,尖锐的对象是一个不平滑的3D区域,并且整个区域都具有这些刺状的形状。