0

我有一张我读过的图片:

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 :(

4

1 回答 1

3

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

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

pnew = p;
pnew(100:100+29, 50:50+29) = p(200:200+29, 50:50+29);
于 2013-11-05T06:09:24.103 回答