MATLAB中想要输出多个结果,最后只输出了一个
a=imread('E:\我的图片\MATLAB图片\线结构光小图.png');imshow(a);b=rgb2gray(a);level=graythresh(b);c...
a=imread('E:\我的图片\MATLAB图片\线结构光小图.png');
imshow(a);
b=rgb2gray(a);
level=graythresh(b);
c=im2bw(b,level);
imshow(c);
[Y,I]=max(c,[],2);求每一行的极大值
hold on
d=1:238;
plot(I,d);title('极大值');
>> for i=1:238 取1到238行
j=I(i) 确定中心
k=c(i,j-2)*(j-2)+c(i,j-1)*(j-1)+ c(i,j)*(j)+ c(i,j+1)*(j+1)+ c(i,j+2)*(j+2);
l=c(i,j-2)+ c(i,j-1)+ c(i,j)+ c(i,j+1)+ c(i,j+2);
m=k/l;加权平均求灰度重心
end
figure
plot(m,i);title('灰度重心');我用以上程序,但是只得到最后一行,即i=238时的数据,请问问题出在哪儿,如何处理?(我想得到的是每一行的重心,帮忙改改谢谢) 展开
imshow(a);
b=rgb2gray(a);
level=graythresh(b);
c=im2bw(b,level);
imshow(c);
[Y,I]=max(c,[],2);求每一行的极大值
hold on
d=1:238;
plot(I,d);title('极大值');
>> for i=1:238 取1到238行
j=I(i) 确定中心
k=c(i,j-2)*(j-2)+c(i,j-1)*(j-1)+ c(i,j)*(j)+ c(i,j+1)*(j+1)+ c(i,j+2)*(j+2);
l=c(i,j-2)+ c(i,j-1)+ c(i,j)+ c(i,j+1)+ c(i,j+2);
m=k/l;加权平均求灰度重心
end
figure
plot(m,i);title('灰度重心');我用以上程序,但是只得到最后一行,即i=238时的数据,请问问题出在哪儿,如何处理?(我想得到的是每一行的重心,帮忙改改谢谢) 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询