旋转没有黑色区域的图像

时间:2017-06-23 14:28:16

标签: python image-processing scipy

当我们使用一些图像处理库来旋转图像时,旋转的图像将始终包含一些黑色区域。例如,我使用以下python代码来旋转图像:

from scipy import misc
img = misc.imread('test.jpg')
img = misc.imrotate(img,15)
misc.imsave('rotated.jpg')

图像如下:

image

我的问题是:如何在不产生黑色区域的情况下旋转图像。我相信存在一些补偿缺失区域的插值方法,这使得图像更加自然。 如果任何人都可以提供python代码来完成我的任务,将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果你想根据背景的某些部分“克隆”或“治愈”缺失区域,这是一个复杂的问题,通常是通过用户干预(在Photoshop或GIMP等工具中)完成的。

替代方案是用计算出的平均颜色填充背景 - 或者只留下原始图像。然而,两者看起来都不会“自然”。

对所有图像都有效的唯一方法是将旋转后的图像裁剪到旋转区域内的最大矩形。这将实现您的目标,即没有黑色区域并且看起来很自然,但是以降低图像尺寸为代价。

答案 1 :(得分:0)

您的" 某些图片库"中没有简单的绘画填充功能。 ?,简单地在所有4个角点处做这个,然后使它变成白色左右。