我尝试使用cImage(而且只有cImage)将Python中的一个图像旋转90度,下面是到目前为止我得到的结果。在
def rotateImage90CW(imageFile):
myWin = ImageWin("90D", 350, 630)
oldIm = FileImage(imageFile)
newIm = EmptyImage(350, 630)
bigList = []
for row in range(oldIm.getHeight()):
bigList.append([]);
for column in range(oldIm.getWidth()):
x = oldIm.getPixel(column, row)
bigList[row].append(x)
bigList.reverse()
for row in range(newIm.getHeight()):
for column in range(newIm.getWidth()):
newIm.setPixel(column, row, bigList[column][row])
newIm.draw(myWin)
不幸的是,当我加载函数时,它只给我一个完全黑色的图像。有人能告诉我我的代码有什么问题吗?:[谢谢。在
我用
map
和zip
来基本上转移你的列表:从cImage导入ImageWin,FileImage,EmptyImage
我得到的是:
由于您将列表命名为
bigLists
,所以我假设您希望加载巨大的图像。所以您应该考虑修改我的示例代码,因为(如代码注释中所述)我做了一些复制。在PS:坦白地说,我个人并不介意使用不能进行基本转换的图像“库”。我看了
cImage.py
里面,似乎它使用了PIL
Image
作为基础。PIL
本身确实提供了开箱即用的旋转(以及其他类似的基本功能)(如果我记得正确的话)(我更喜欢OpenCV),尽管我不知道cImage
自定义图像格式是否与PIL
的图像处理工具兼容。在相关问题 更多 >
编程相关推荐