基于数字图像处理的障碍物识别,源代码不懂,去大神指教

2019-07-17 13:34发布

我打进去一直说代码是错的,研究好久都不知道哪有错,红 {MOD}字体那些不太了解,可以的话加我QQ1377150071给我解释下,谢谢clcclear all;close all;I=imread('chel2.bmp');B=rgb2gray(I);subplot(2,2,1);imshow(B)title('原图像之一')G=imread('chel.bmp');subplot(2,2,2);imshow(G)title('背景图像')M=double(I); J=M; fori=1:H-1 for j=1:W-1 J(i,j)=abs(M(i,j)-M(i+1,j+1))+abs(M(i+1,j)-M(i,j+1)); figure; fori=1:m-1   for j=1:n-1   robertsNum = abs(f(i,j)-f(i+1,j+1)) + abs(f(i+1,j)-f(i,j+1));   if(robertsNum> threshold)   f2(i,j)=255;   else f2(i,j)=0;   figure; Dk=imsubtract(image_gray,image_background); image_bw=im2bw(Dk,0.2);subplot(2,2,3); imshow(image_bw)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
qingchunyazhou
2019-07-18 00:16
H和W应该是图像的高和宽,上面没有例如H=size(B,1);W=size(B,2);m,n也不知道是什么,还有f是哪一副图
M=double(I); 是数据类型的转换
J=M;
fori=1:H-1
for j=1:W-1
J(i,j)=abs(M(i,j)-M(i+1,j+1))+abs(M(i+1,j)-M(i,j+1)); 像素运算abs为绝对值
figure;
fori=1:m-1   
for j=1:n-1   
robertsNum = abs(f(i,j)-f(i+1,j+1)) + abs(f(i+1,j)-f(i,j+1));  
if(robertsNum> threshold)   
f2(i,j)=255;  
else f2(i,j)=0;   
figure;
Dk=imsubtract(image_gray,image_background);
image_bw=im2bw(Dk,0.2);
subplot(2,2,3);
imshow(image_bw)

一周热门 更多>