最近我在Python中处理很多与视觉相关的工作,切换格式时遇到了很多困难。当我使用Mahotas读取一张图片时,似乎不能将它转为cv2格式,尽管它们都使用numpy.ndarray。SimpleCV可以轻松地获取OpenCV图像,但是将SimpleCV图像转换为传统的cv或mahotas格式似乎是一项相当困难的任务。
需要一些格式转换语法。例如,如果我使用mahotas打开一个灰度图像,默认情况下会将其视为浮点颜色空间,尽管我已经将类型指定为numpy.uint8,但cv2似乎无法识别它为数组。我不知道该如何解决这个问题。对于彩色图像,我也没有太好的运气。我使用的是Python 2.7 32位在Ubuntu Oneiric Ocelot上。
提前感谢!
cv.fromarray()
将NumPy数组转换为cv图像?此外,您可以通过IplImage的.tostring()
方法将cv图像转换为NumPy。(例如:array = numpy.fromstring(image.tostring(),dtype=numpy.float32)
) 另外,请务必查看OpenCV的食谱。 最后,出于好奇,真的有必要使用所有不同的库吗?我认为,至少SimpleCV和OpenCV一起会有很多重叠。 - Ancallan