2012-11-24 58 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;