matlab问题.一个二维矩阵,把其中元素等于234的换成他的前一个元素值,clear allA=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp'); subplot(121);imshow(A);B=rgb2gray(A);idx= find(B==234);B(idx)=B(idx-1);subplot(122
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 11:43:31
![matlab问题.一个二维矩阵,把其中元素等于234的换成他的前一个元素值,clear allA=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp'); subplot(121);imshow(A);B=rgb2gray(A);idx= find(B==234);B(idx)=B(idx-1);subplot(122](/uploads/image/z/10129604-68-4.jpg?t=matlab%E9%97%AE%E9%A2%98.%E4%B8%80%E4%B8%AA%E4%BA%8C%E7%BB%B4%E7%9F%A9%E9%98%B5%2C%E6%8A%8A%E5%85%B6%E4%B8%AD%E5%85%83%E7%B4%A0%E7%AD%89%E4%BA%8E234%E7%9A%84%E6%8D%A2%E6%88%90%E4%BB%96%E7%9A%84%E5%89%8D%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0%E5%80%BC%2Cclear+allA%3Dimread%28%27C%3A%5CDocuments+and+Settings%5CAdministrator%5C%E6%A1%8C%E9%9D%A2%5C%E6%AE%B53.bmp%27%29%3B+subplot%28121%29%3Bimshow%28A%29%3BB%3Drgb2gray%28A%29%3Bidx%3D+find%28B%3D%3D234%29%3BB%28idx%29%3DB%28idx-1%29%3Bsubplot%28122)
matlab问题.一个二维矩阵,把其中元素等于234的换成他的前一个元素值,clear allA=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp'); subplot(121);imshow(A);B=rgb2gray(A);idx= find(B==234);B(idx)=B(idx-1);subplot(122
matlab问题.一个二维矩阵,把其中元素等于234的换成他的前一个元素值,
clear all
A=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp');
subplot(121);imshow(A);
B=rgb2gray(A);
idx= find(B==234);
B(idx)=B(idx-1);
subplot(122);imshow(B);
这个程序错在哪里?
clear all
A=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp');
subplot(121);imshow(A);
B=rgb2gray(A);
[m,n]=size(B);
for i=1:m
for j=i+1:n
B(i,j)=234;
B(i,j)=B(i,j-1);
end
end
subplot(122);imshow(B);
这个替换怎么实现不了呢?
matlab问题.一个二维矩阵,把其中元素等于234的换成他的前一个元素值,clear allA=imread('C:\Documents and Settings\Administrator\桌面\段3.bmp'); subplot(121);imshow(A);B=rgb2gray(A);idx= find(B==234);B(idx)=B(idx-1);subplot(122
A = [111 222 333; 234 256 278; 78 1000 234]
B = reshape(A',1,size(A,1)*size(A,2))
idx = find(B==234)
B(idx) = B( idx-1 )
A1 = reshape(B,size(A,1),size(A,2))'
补充:
兄弟,我的代码中有个reshape语句,作用是把二维矩阵变成一维矩阵,这样的话就不用考虑每行第一个元素是234的情况了,但是所有元素中的第一个元素应该还得特殊考虑一下,而且变成一维矩阵后用find返回的直接就是元素序号.
而你没有用reshape语句,所以find返回的值是包含行列坐标的,当然不能直接用 idx-1 这种语句了,它会把行列坐标都减一,会造成越界的,比如第一行的数据减完之后就到滴0行了,这显然是不对的.详细内容你可以查看find的帮助信息