关于matlab图像处理边缘检测的程序问题

clearall;clc;warningoffa1=imread('che.jpg');subplot(221);imshow(a1);title('原始图像');a=r... clear all;
clc;
warning off
a1=imread('che.jpg');
subplot(221);
imshow(a1);
title('原始图像');
a=rgb2gray(a1);
a=double(a);
[m,n]=size(a);
for j=1:m-1
for i=1:n-1
b(i,j)=abs(a(i,j)-a(i+1,j))+abs(a(i,j)-a(i,j+1));
if b(i,j)>50
b(i,j)=0;
else
b(i,j)=255;
end
end
end
subplot(222);
imshow(b);
title('普通梯度检测后图像');

程序运行后出现
ttempted to access a(361,1); index out of bounds because size(a)=[360,585].

Error in ==> panduan at 13
b(i,j)=abs(a(i,j)-a(i+1,j))+abs(a(i,j)-a(i,j+1));
这个错误,是怎么回事,求大神指教
展开
 我来答
飞跃梦想华
2015-03-05 · TA获得超过333个赞
知道小有建树答主
回答量:388
采纳率:89%
帮助的人:108万
展开全部
clear all;
clc;
warning off
a1=imread('1.jpg');
subplot(221);
imshow(a1);
title('原始图像');
a=rgb2gray(a1);
a=double(a);
[m,n]=size(a);
for i=1:m-1
for j=1:n-1
b(i,j)=abs(a(i,j)-a(i+1,j))+abs(a(i,j)-a(i,j+1));
if b(i,j)>50
b(i,j)=0;
else
b(i,j)=255;
end
end
end
subplot(222);
imshow(b);
title('普通梯度检测图像');
你在循环中把i和j弄反了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式