(目标检测)MATLAB基于形态学的目标检测(一)简单图形统计
by HPC_ZY
本文主要介绍二值形态学在目标检测上的用法, 就不讲形态学原理了。
不熟悉的选手可以参考以下文章,
二值形态学原理:https://blog.youkuaiyun.com/zxli3011/article/details/50522939
二值形态学效果MATLAB演示:https://blog.youkuaiyun.com/abigbiggirl/article/details/49888733
一、生成测试图像
- 目标图形生成
%% 矩形
% bg:背景图 x,y:矩形中心坐标 rh,rw:矩形高宽半径
function bg = CreateRectangle(bg, x, y, rh, rw)
bg(x-rh:x+rh, y-rw:y+rw) = 1;
end
%% 圆形
% bg:背景图 x,y:圆心坐标 r:半径
function bg = CreateCircle(bg, x, y, r)
for i = x-r:x+r
for j = y-r:y+r
if(i-x)^2+(j-y)^2 < (r+1)^2
bg(i,j) = 1;
end
end
end
end
- 测试与效果
%% 测试图生成
bg1 = zeros(500);
bg2 = zeros(500);
N = 8; % 图形数量
for n = 1:N
% 随机生成整数坐标(以下写法是为确保图形在图像内部)
x =