如何删除应用ADAPTIVE THRESH时产生的粗边框 - Wellner的自适应阈值处理

时间:2013-04-15 20:37:34

标签: matlab image-processing

参考下面提到的链接: -

图片1:enter image description here

图片2:enter image description here

图像2是在应用adapthisteq之后获得 Wellner的自适应阈值

有人可以帮我删除那个粗边框,因为在处理图像时,也会提取图像边框的坐标。我已经尝试了imclearborder但是那些接触边界的静脉也被移除了。

此外,与图像1相比,我的印象是图像2中的静脉图案尺寸增大。

谢谢。

1 个答案:

答案 0 :(得分:1)

您提供的图片尺寸不同。但是下面的代码是一般的想法:

代码:

hand = imread('hand.png'); % this the hand
hand = hand(1:235,1:309);
thresh = imread('thresh.png'); % this is the "veined" image with the large border
thresh = thresh(:,:,1);

thresh(hand < 100) = 256;

figure, imshow(thresh)

输出:

enter image description here

基本上,只需要在拳头上做一个简单的门槛。通过逻辑索引选择这些点。然后,将“脉纹”图片中这些索引的值设置为白色值(1或256,取决于它是否合乎逻辑)。

此外,如果您提供的图像大小相同且对齐,则右侧略微黑色的边界区域将消失。我还建议使用imdilateimerode来删除小位。