用于在python中存储多个图像的高效数据结构

时间:2013-02-11 23:47:20

标签: python variables opencv data-structures storage

在Python中存储使用OpenCV加载的多个图像的好方法是什么?在C ++中,可以使用Mat的矢量简单地完成。

如何在Python中执行此操作?数组中的构建AFAIK仅适用于简单数据。我应该使用一些矢量或类似的库吗?

2 个答案:

答案 0 :(得分:1)

我不确定你在问什么。制作用户指定对象的图像如下:

from opencv.cv import *
class Image:
    def __init__(self, file):
        image = cvLoadImage (file)
        # whatever else you may need to store or do


list = []
someImg = Image("C:/somefile.png")
list.append(someImg)

然后将它们存储在列表中? 这就是我在你的情况下会这样做的方式,但我可能会错误地解释你问题的具体细节。

编辑:我在python中也没有真正使用OpenCV,所以我不确定导入和图像创建是如何工作的,但它似乎是这样的。参考:herehere

此外,numpy.ndarray是一个很好的,因为你似乎指的是使用矩阵的向量(这里是python列表)(这里是numpy.ndarrays),你可能会更舒服。

答案 1 :(得分:1)

当我使用OpenCV时,我的选择是使用numpy ndarrays。它可以在numpy数组和OpenCV Image / Matrix类之间快速轻松地进行转换,只需要一个薄的包装器,numpy为您提供了大量的数字技巧和库。

话虽如此,简单地使用cv的本机iplimage类列表(从英特尔图像处理库继承的结构)也没有错。