0

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

如何在 Python 中做到这一点?内置数组 AFAIK 仅适用于简单数据。我应该使用一些向量或类似的库吗?

4

2 回答 2

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,所以我不确定导入和图像创建是如何工作的,但它似乎是这样的。参考:这里这里

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

于 2013-02-11T23:52:59.733 回答
1

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

话虽如此,简单地使用 cv 的本机 iplimage 类(从 intel 图像处理库继承的结构)列表不会有任何问题。

于 2013-02-12T00:01:24.760 回答