如何在原始图像背景的图像旋转部分填充黑色?请注意,图像仅在位移非常小的情况下被剪切。原始图像和变换图像的大小相同。
这是我尝试过的。有谁能建议更好的方法? MATLAB代码和相应的结果:
A=imread('cameraman.tif');
tform=affine2d([1 0 0 ; 0.05 1 0 ; 0 0 1]);
J=imwarp(A, tform, 'OutputView',imref2d(size(A)));
subplot(1,3,1)
imshow(A),title('Original Image');
subplot(1,3,2)
imshow(J),title('Rotated Image');
zeropixels = J == 0;
J(zeropixels) = A(zeropixels);
subplot(1,3,3)
imshow(J),title('Correct Image');
答案 0 :(得分:0)
尝试以下方法: 1)使用具有恒定值的所有像素旋转图像(以确定的方式查找区域)。 2)现在可以使用0作为像素值的像素位置来创建掩模。 3)使用创建的蒙版将原始图像中的像素复制到旋转的图像。
要改善结果(边缘一致性),在替换值之前平滑图像可能会有所帮助。