matlab问题解答,拜托各位大神!!

function J=fill_func(BW,ori_image)
[m,n]=size(BW);获取图片灰度矩阵的行数和列数,求出图片像素大小
J=ori_image;back=[];
figure,imshow(BW);
L=bwlabel(BW,8); %对二值图像进行标识
[nx,ny]=find(L==0); % 找到所有的背景像素点坐标
for i=1:length(nx)
back=[back ori_image(nx(i),ny(i))];
end
fill_grey=mean(back);
num=max(L(:));
% 对于每一个标识所对应的区域中的每一个像素,用填充灰度值代替其3*3邻域像素的原有灰度值
for i=1:num
[idx,idy]=find(L==i);
for j=1:length(idx)
if idx(j) == 1 || idx(j) == m || idy(j) == 1 || idy(j) == n
break;
end
J(idx(j)-1:idx(j)+1,idy(j)-1:idy(j)+1)=fill_grey; % J(idx(j),idy(j))=fill_grey;
end
End
菜鸟问题:function J=fill_func(BW,ori_image)中ori_image是什么?
J=ori_image;back=[];中back=[]是什么作用?括号中为什么没东西?
L=bwlabel(BW,8)这是什么公式,作用?
[nx,ny]=find(L==0);中nx和ny是什么?两个等号是恒等么?
for i=1:length(nx)中length(nx)是什么?
fill_grey=mean(back); 这是个函数还是调用程序?这是在干嘛?
num=max(L(:));这个完全看不懂?
idx(j) == 1 || idx(j) == m || idy(j) == 1 || idy(j) == n这个是在干嘛?俩等号俩竖线是什么东西?
J(idx(j)-1:idx(j)+1,idy(j)-1:idy(j)+1)=fill_grey;最后一个问题,这在算什么?

第1个回答  推荐于2016-05-08
function J=fill_func(BW,ori_image)中ori_image是什么? %是你自己输入的
J=ori_image;back=[];中back=[]是什么作用?括号中为什么没东西? %back=[]代表的是空,一般代表空矩阵,后面会用到,方便往里面加入数值
L=bwlabel(BW,8)这是什么公式,作用?%bwlabel只是对对象进行标记而已,不能对对象进行旋转一定的角度的操作,可以百度一下
[nx,ny]=find(L==0);中nx和ny是什么?两个等号是恒等么?%nx代表L=0的数在第几行,ny是0在第几列,两个等号是比较的意思,L==0是比较L与0是否相等,相等了就执行,不相等就不执行
for i=1:length(nx)中length(nx)是什么?%代表nx里面的数有多少
fill_grey=mean(back); 这是个函数还是调用程序?这是在干嘛?%是matlab里原有的函数,代表的是求每一列的均值
num=max(L(:));这个完全看不懂?%求L中最大值
idx(j) == 1 || idx(j) == m || idy(j) == 1 || idy(j) == n这个是在干嘛?俩等号俩竖线是什么东西?%两个等号意思还是比较,看上面;||是逻辑关系’或‘
J(idx(j)-1:idx(j)+1,idy(j)-1:idy(j)+1)=fill_grey;最后一个问题,这在算什么?%像是一个矩阵,在矩阵的idx(j)-1到idx(j)+1行,idy(j)-1到idy(j)+1赋值为fill_grey里面的内容本回答被提问者和网友采纳
相似回答