在Python中存储使用OpenCV加载的多个图像的好方法是什么?在C++中,它可以简单地使用Mat的向量来完成。
如何在Python中做到这一点?Buil in阵列AFAIK仅适用于简单的数据。我应该使用一些向量或类似的库吗?
当我使用OpenCV时,我的选择是使用numpy ndarrays。它可以在numpy数组和OpenCV Image/Matrix类之间快速轻松地来回转换,只需要一个薄包装器,numpy为您提供了大量的数字技巧和库。
话虽如此,简单地使用cv的原生iplimage类(继承自intel图像处理库的结构)的列表并没有错。
我不确定你在问什么。让用户指定的对象像这样成像会有什么问题:
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
是一个很好的方法,因为您似乎指的是使用矩阵的向量(这里是python列表)(这里是numpy.ndarrays),您可能会更熟悉它。