作业帮 > 综合 > 作业

急求一幅图像中目标区域的质心点坐标的matlab的源代码

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/01 15:31:32
急求一幅图像中目标区域的质心点坐标的matlab的源代码
我现在程序是用手工选取一幅图像中的目标,只能求出选中目标在选择框中的质心点坐标,但是需要的是求出目标质心在整幅图像中的坐标.
请各位帮帮忙!真的是急用!
我的程序:
pic=imread('F:\11\33.bmp');
[x,y,z] = size(pic); % 判断图像是一个彩色图像还是一个灰度图像,如果是一个彩色图像把它转换为一个灰度图像
if(z==1)
;
else
pic = rgb2gray(pic);
end
imshow(pic);
im = pic;
p=imcrop(im);
figure,imshow(p)
title('所选目标车辆');
[rows,cols] = size(p);
x = ones(rows,1)*[1:cols]; % 设置每一个像素点x坐标的数组
y = [1:rows]'*ones(1,cols); % 设置每一个像素点y坐标的数组
x0=sum(sum(x)); % 求每一个像素点x坐标的和
y0=sum(sum(y)); % 求每一个像素点y坐标的和
area = rows*cols;
meanx = x0/area
meany = y0/area
hold on
plot(meanx,meany , '*')
急求一幅图像中目标区域的质心点坐标的matlab的源代码
你的程序太复杂,帮你改了一下,在原图中的质心点坐标是(originalx,originaly)
pic=imread('F:\11\33.bmp');
[x,y,z] = size(pic);
if(z~=1)
pic = rgb2gray(pic);
end
imshow(pic);
im = pic;
[temp1,temp2,p,rect]=imcrop(im);
figure,imshow(p)
title('所选目标车辆');
[rows,cols] = size(p);
meanx = (1+cols)/2;
meany = (1+rows)/2;
hold on
plot(meanx,meany , '*')
originalx=meanx+round(rect(1))-1;
originaly=meany+round(rect(2))-1;
figure
imshow(pic)
hold on
plot(originalx,originaly,'*')