2012-11-24 57 views
0

您好StackOverflow社区,把图像的裁剪部分放回原尺寸

我有一个问题,因为两天有更大的图像和ROI,这是图像的一部分。 我想用imrect来选择ROI并裁剪ROI,这样我就可以处理更少量的数据。 处理完毕后,我想将裁剪后的图像重新映射回图像的原始位置。

我已经通过调试迄今所做:

function paddedImg = putCroppedImgBack(croppedIm, Pos, origDim) 
paddedImg = zeros(origDim); 
r = round(Pos(1)); 
c = round(Pos(2)); 
if(r ==0) % because ML addresses a matrix not with 0 like in cpp 
    r=1; 
end 
sizeR = size(croppedIm,1); 
sizeC = size(croppedIm,2); 
paddedImg(r:sizeR,c:sizeC) = croppedIm; %this part doesn't work! 
%Subscripted assignment dimension mismatch. 

我试图roundimrect的坐标,但没有藏汉工作。 我还用数值例如paddedImg来手动表示。 paddedImg(1:5,20:50) = 1;,它的工作原理。

编辑: 找到解决方案后,我开始在这里的帖子....有时我应该问的StackOverflow不是整天和一个不眠之夜早一点。

paddedImg(r:sizeR+r-1,c:sizeC+c-1) = croppedIm;

真诚

+0

尝试通过'POS = [11]',并告诉我们,如果它给出了同样的错误。或者试试'paddedImg(1:5,20:50)= croppedImg'来查看它是否有效。 – Yamaneko

+0

哦,甜美的主人,我认为我发现了这个错误... 有时生活太讽刺了。当我阅读你的文章时,我尝试了一些我以前已经尝试过的东西。 请参阅开始文章中的编辑。无论如何..感谢您的帖子。 – mchlfchr

+0

我很高兴这在某些方面有帮助。作为答案发布您的解决方案,您将能够在两天内接受它。 – Yamaneko

回答

0

编辑:找到解决方案后,我开始在这里的帖子....有时我应该问的StackOverflow不是整天和一个不眠之夜早一点。

paddedImg(r:sizeR+r-1,c:sizeC+c-1) = croppedIm;