急求一幅图像中目标区域的质心点坐标的matlab的源代码我现在程序是用手工选取一幅图像中的目标,只能求出选中目标在选择框中的质心点坐标,但是需要的是求出目标质心在整幅图像中的坐
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 01:33:07
![急求一幅图像中目标区域的质心点坐标的matlab的源代码我现在程序是用手工选取一幅图像中的目标,只能求出选中目标在选择框中的质心点坐标,但是需要的是求出目标质心在整幅图像中的坐](/uploads/image/z/8025055-7-5.jpg?t=%E6%80%A5%E6%B1%82%E4%B8%80%E5%B9%85%E5%9B%BE%E5%83%8F%E4%B8%AD%E7%9B%AE%E6%A0%87%E5%8C%BA%E5%9F%9F%E7%9A%84%E8%B4%A8%E5%BF%83%E7%82%B9%E5%9D%90%E6%A0%87%E7%9A%84matlab%E7%9A%84%E6%BA%90%E4%BB%A3%E7%A0%81%E6%88%91%E7%8E%B0%E5%9C%A8%E7%A8%8B%E5%BA%8F%E6%98%AF%E7%94%A8%E6%89%8B%E5%B7%A5%E9%80%89%E5%8F%96%E4%B8%80%E5%B9%85%E5%9B%BE%E5%83%8F%E4%B8%AD%E7%9A%84%E7%9B%AE%E6%A0%87%2C%E5%8F%AA%E8%83%BD%E6%B1%82%E5%87%BA%E9%80%89%E4%B8%AD%E7%9B%AE%E6%A0%87%E5%9C%A8%E9%80%89%E6%8B%A9%E6%A1%86%E4%B8%AD%E7%9A%84%E8%B4%A8%E5%BF%83%E7%82%B9%E5%9D%90%E6%A0%87%2C%E4%BD%86%E6%98%AF%E9%9C%80%E8%A6%81%E7%9A%84%E6%98%AF%E6%B1%82%E5%87%BA%E7%9B%AE%E6%A0%87%E8%B4%A8%E5%BF%83%E5%9C%A8%E6%95%B4%E5%B9%85%E5%9B%BE%E5%83%8F%E4%B8%AD%E7%9A%84%E5%9D%90)
急求一幅图像中目标区域的质心点坐标的matlab的源代码我现在程序是用手工选取一幅图像中的目标,只能求出选中目标在选择框中的质心点坐标,但是需要的是求出目标质心在整幅图像中的坐
急求一幅图像中目标区域的质心点坐标的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,'*')