在scipy中旋转图像时填充所需的颜色

时间:2013-04-10 18:17:18

标签: python image rotation scipy

我正在使用scipy旋转图像,如下所示

    scipy.misc.imrotate(im,60)

旋转的图像用黑色值填充,我想要白色。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:4)

scipy.misc.imrotate只是在幕后使用PIL。你可以简单地使用PIL来做这件事,但令人惊讶的是笨拙。

最好只使用scipy.ndimage.rotate。 (scipy.misc中的函数有点模糊,很少使用。)

cval kwarg控制“背景”值。

在你的情况下:

import numpy as np
import scipy.ndimage

data = 256 * np.random.random((10,10))
data = data.astype(np.uint8)

rotated = scipy.ndimage.rotate(data, 60, cval=255)
print rotated

收率:

[[255 255 255 255 255 255 255 255 255 255 255 255 255 255]
 [255 255 255 255 255 150 255 255 255 255 255 255 255 255]
 [255 255 255 255 160 234 179 152 255 255 255 255 255 255]
 [255 255 255 255 120 206 114  19 173 188 255 255 255 255]
 [255 255 255 172 113 144 159 162 175  89  43  62 255 255]
 [255 255 255  81 170 194 205 137 158 190 196 123 186 255]
 [255 255 115  67 118 101  53  33 108  34 125  61 255 255]
 [255 255 176 126 113 189 170 120 118  10 182 165 255 255]
 [255 150 209 101   9 146 213  99 134 162 133 255 255 255]
 [255 255 190 126 194 159 119  67 171 240 143 255 255 255]
 [255 255 255 255 174 184 211  99 103 139 255 255 255 255]
 [255 255 255 255 255 255 167 232  70 247 255 255 255 255]
 [255 255 255 255 255 255 255 255 102 255 255 255 255 255]
 [255 255 255 255 255 255 255 255 255 255 255 255 255 255]]