首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matlab -目标检测

matlab -目标检测
EN

Stack Overflow用户
提问于 2021-01-05 01:38:15
回答 1查看 111关注 0票数 0

如下图所示

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

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

代码语言:javascript
复制
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)

我得到了以下结果:

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-05 06:09:13

你就快到了。使用一些常量和一个imopen调用来删除斑点就可以完成工作:

代码语言:javascript
复制
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;

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65567203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档