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
xT[sZ+9mN!u@y>p< K;RKoҤ:r)gv gR3g<%{[/)8i2ZN잘S b 6OQϟ2-ܚ}/9Nθ)rT K![a% "IYYJ,CQYIUJE(vFSn/I< #xW&no@T’*=a'9X$d% "ĸ ܢ+/`_P# /FvlR{]K\FЁao*t*‹ҰrGLO#b*E~>::=r.tHx\&g+*h*,|ODry"x<^eD{uβ;1xx6+7>_x2Ifl1pqrrvj4!l>Af9[Gk ͢ybgGPirFo׬Қ[ 0ֿ"'\RikkQ4?~A+@7 eY| 8IH 3.UBjM_ofMYThUgkedĵUyŀwNhl9v*_WH+'AF9 pXBnh}C^It銈C3Q9me26ζQqA+ U/sЩ^7(1-iXZh8%id3XfXBH 6M[l6NǤMsw liPxgI%e]

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的帮助信息