你好 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.
我尝试了round
的坐标imrect
,但效果不佳。我还使用值手动paddedImg
处理,例如
paddedImg(1:5,20:50) = 1;
,它有效。
编辑: 在我在这里开始发帖后找到了解决方案....有时我应该早一点问 StackOverflow,而不是花一整天不眠之夜。
paddedImg(r:sizeR+r-1,c:sizeC+c-1) = croppedIm;
真挚地