【问题标题】:matlab - Object detectionmatlab - 物体检测
【发布时间】:2021-04-10 12:19:03
【问题描述】:

给出如下图

我必须检测图像右下角的组件。 结果应如下所示:

阈值和腐蚀在代码中如下所示:

clc; close all;
I  = imread('Leiterplatte.png');
se = strel('rectangle', [2 4]);
Ie1 = imerode(I,se);
imshow(I);

%figure; histogram(I)
Im = Ie1>40 & Ie1<128;
figure; imshow(Im) 

se = strel('rectangle', [8 8]);
Ie = imerode(Im,se);

figure; imshow(Ie)

I(Ie)=255;
figure; imshow(I)

我得到以下结果:

但检测到的矩形要么太小,要么如果不是,那么斑点仍在图像中,如下所示:

【问题讨论】:

  • 请编辑您的问题并添加您迄今为止尝试过的内容。还要描述一下“改进”的确切含义。
  • 好的,我希望现在很清楚

标签: matlab image-processing object-detection


【解决方案1】:

你快到了。稍微玩一下常量并调用imopen 来删除斑点即可完成工作:

I  = imread('RuaDN.png');
se = strel('rectangle', [4 8]);
Ie1 = imerode(I,se);
Im = Ie1>70 & Ie1<130;
se = strel('rectangle', [8 16]);
Ie = imopen(Im, se);

O = I;
O(Ie) = 255;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多