近期论文内容:ISAR图像目标提取算法-【2】重心法

上一节中最大值法存在目标信息丢失的问题,这里将采用一种更好的算法去定位选框的中心点,即采用图像灰度重心的方法。

灰度重心的计算可以从纵向横向两个方向分别进行。

以下是代码:

clc; clear all; close all;
rgb = imread('1-1-a.bmp');%读取彩色图像
if ndims(rgb) == 3
I = rgb2gray(rgb);
else
I = rgb;
end
A=sum(I);
B=sum(I');
I1=[1:numel(A)];
AS=A.*I1;
X=sum(AS)/sum(A);
J1=[1:numel(B)];
BS=B.*J1;
Y=sum(BS)/sum(B);
X1=X-1000;X2=X+1000;
Y1=Y-1000;Y2=Y+1000;
S1=(X1:1:X2);
C1=(Y1:1:Y2);
figure(1);
imshow(I,[]);
title('Center of gravity')
hold on;
plot(X,Y,'r+');
hold on;
plot(X1,C1,'r');
hold on;
plot(X2,C1,'r');
hold on;
plot(S1,Y1,'r');
hold on;
plot(S1,Y2,'r');

FIN=I(Y1:Y2,X1:X2);
figure(2);
imshow(FIN,[]);  
title('The extraction results');
hold on;
plot(1000,1000,'r+');
可见灰度重心法能够得到良好的目标提取结果,但需要预先进行横向定标哦限制了它的应用范围。

你可能感兴趣的:(Journal,Paper,ISAR,MATLAB,数字图像处理,算法,逆合成孔径雷达)