Matlab:替换矩阵值

时间:2013-11-05 05:51:24

标签: matlab matrix extract

我有一张图片,我读到了:

p = imread('file');

在那张图片中错误是30px。之后(row50 column100)是30个错位的。我想替换那些位于(row50 column200)之后的30px的那些。我该怎么做?

这就是我到目前为止所做的一切:

new = p(p(200, 50):p(200, 50)+30);
pnew = [ p(1:p(100, 50)) new p((p(100, 50)+31):end)];
figure, imshow(pnew);

但它不起作用@all :(

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望在图像中的给定位置替换30×30像素的块,并在图像中的其他位置替换另一块30×30像素。

如果是这种情况,您可以使用:

pnew = p;
pnew(100:100+29, 50:50+29) = p(200:200+29, 50:50+29);