Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3多实例中的单个对象_Python_Python 3.x_Oop - Fatal编程技术网

Python3多实例中的单个对象

Python3多实例中的单个对象,python,python-3.x,oop,Python,Python 3.x,Oop,我试图追踪视频中的水滴。在每一帧中,我都会检测到多个水滴和噪音(使用findcontours) 从帧A中,我生成X个对象,这些对象由以下内容定义: class Object: 'Creates new object containing the location and its respective pixel frame.' objectCount=0 def __init__(self,position,frame): self.position=p

我试图追踪视频中的水滴。在每一帧中,我都会检测到多个水滴和噪音(使用findcontours)

从帧A中,我生成X个对象,这些对象由以下内容定义:

class Object:
    'Creates new object containing the location and its respective pixel frame.' 
    objectCount=0
    def __init__(self,position,frame):
        self.position=position
        self.pixelframe=frame[position-10:position+10,position-10:position+10]
        Object.objectCount+=1
现在,我接下来要做的是比较以A帧和B帧对象的质心(位置)为中心的像素帧。我使用结构相似性指数(SSIM)给出两帧之间的相似性值。如果匹配完美(或接近完美),则对象未移动,并被视为背景对象(不重要)。但是,如果它已移动(不匹配),我需要在帧B中找到它。为此,我将帧A中对象的像素帧与帧B中的像素帧进行比较,直到找到一个好匹配。一旦我有了一个很好的匹配,我想把这两个对象关联为一个单独的对象(水滴)

举个例子来说明我的问题,假设我有10个来自帧A的对象:obj11,obj12,…,obj110 测试后,只有obj1移动(同一位置的匹配不正确)。 帧B有12个对象:obj21、obj22、…、obj212 经过验证,obj11和obj21具有非常好的匹配性,可以作为液滴关联在一起

我想到的是创建一个Droplet类,它将继承obj11和obj21的属性

class Droplet:
    def __init__(self,objectA,objectB):
        self.data=[objectA,objectB]
    def add(self,objectC):
        self.data.append(objectC)

我做得对吗?有没有更好的方法来代替创建两个类

您是否有理由需要一个特殊类而不能仅使用嵌套在字典中的列表?@IgnacioVazquez Abrams,您将如何使用嵌套在dic中的列表?我是一个大傻瓜。你为什么需要一个特殊的类而不能只使用嵌套在字典中的列表呢?@IgnacioVazquez Abrams,你会怎么做嵌套在dic中的列表?我是个大傻瓜。