尝试使用 skimage.transform 旋转 Python 中的简单图片
Trying to ROTATE a simple picture in Python using skimage.transform
我在Python中有一个简单的图片3.X
我可以显示它。
但是,我无法使用 skimage.transform.rotate.
旋转它
错误是我的 'Picture' 对象没有形状。我已经看到旋转命令后包含的 .shape,但它仍然不起作用。
这是我的代码
import skimage
from skimage import novice
# New, all black picture
pic = skimage.novice.Picture.from_size((600, 600), color=(0, 0, 0))
# Coloring some pixels in white
for i in range(0, len(all_dots) - 1, 2):
x = all_dots[i]
y = all_dots[i + 1]
pic[x, y] = (255, 255, 255)
from skimage.transform import rotate
new_pic = rotate(pic, 180)
# Also new_pic = rotate(pic, 180).shape does not work
new_pic.show()
有什么想法吗?谢谢
需要做更多的测试,但乍一看我会说问题是你传递给 rotate() 函数的第一个参数。
根据 Skimage 的文档:http://scikit-image.org/docs/stable/api/skimage.transform.html#rotate
rotate() 的第一个参数是 ndarray 格式的图像。你的对象(因为你使用的是 'novice' 模块,根据我的快速测试是类型。
试试这样的东西:
new_pic = rotate(pic.array, 180)
pic.array是对新手存储的底层ndarray对象的直接引用'Picture'对象
编辑:这给你 new_pic 作为 numpy 数组!所以您需要执行以下操作来显示它:
new_pic = rotate(pic.array, 180)
from skimage.io import imshow, show
imshow(new_pic)
show()
我在Python中有一个简单的图片3.X 我可以显示它。 但是,我无法使用 skimage.transform.rotate.
旋转它错误是我的 'Picture' 对象没有形状。我已经看到旋转命令后包含的 .shape,但它仍然不起作用。
这是我的代码
import skimage
from skimage import novice
# New, all black picture
pic = skimage.novice.Picture.from_size((600, 600), color=(0, 0, 0))
# Coloring some pixels in white
for i in range(0, len(all_dots) - 1, 2):
x = all_dots[i]
y = all_dots[i + 1]
pic[x, y] = (255, 255, 255)
from skimage.transform import rotate
new_pic = rotate(pic, 180)
# Also new_pic = rotate(pic, 180).shape does not work
new_pic.show()
有什么想法吗?谢谢
需要做更多的测试,但乍一看我会说问题是你传递给 rotate() 函数的第一个参数。
根据 Skimage 的文档:http://scikit-image.org/docs/stable/api/skimage.transform.html#rotate
rotate() 的第一个参数是 ndarray 格式的图像。你的对象(因为你使用的是 'novice' 模块,根据我的快速测试是类型。
试试这样的东西:
new_pic = rotate(pic.array, 180)
pic.array是对新手存储的底层ndarray对象的直接引用'Picture'对象
编辑:这给你 new_pic 作为 numpy 数组!所以您需要执行以下操作来显示它:
new_pic = rotate(pic.array, 180)
from skimage.io import imshow, show
imshow(new_pic)
show()