繁体   English   中英

cv2,cv,mahotas和SimpleCV之间的图像转换

[英]Image Conversion between cv2, cv, mahotas, and SimpleCV

我最近不得不在Python中做很多与视觉相关的工作,而且我在格式之间切换时遇到很多困难。 当我使用Mahotas读取图像时,我似乎无法将其转换为cv2,尽管它们都使用numpy.ndarray。 SimpleCV可以轻松获取OpenCV图像,但是为简单的cv或mahotas获取SimpleCV图像似乎是一项非常重要的任务。

一些格式转换语法将非常受欢迎。 例如,如果我使用mahotas打开灰度图像,默认情况下会将其视为浮点颜色空间。 即使我将类型指定为numpy.uint8,cv2似乎也无法将其识别为数组。 我不知道如何解决这个问题。 我对彩色图像也没有太多运气。 我在Ubuntu Oneiric Ocelot上使用Python 2.7 32bit。

提前致谢!

我从未使用过mahotas。 但我目前正在研究SimpleCV。 我刚刚发送了一个pull请求,使SimpleCV numpy数组与cv2兼容。

基本上,

对于cv2,Image.getNumpy() - > numpy.ndarray

Image.getBitmap() - > cv2.cv.iplimage

Image.getMatrix() - > cv2.cv.cvmat

要将cv2 numpy数组转换为SimpleCV Image对象,

Image(cv2_image) - > SimpleCV.ImageClass.Image

只有cv2和SimpleCV的经验,从SimpleCV转换为cv2:

cv2_image = simplecv_image.getNumpyCv2()

要从cv2转换为SimpleCV:

simplecv_image = Image(cv2_image.transpose(1, 0, 2)[:, :, ::-1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM