C++ OpenCV背景减法/代码本?
我正在尝试codebook方法,但并不真正理解codebook结构中int t的意义。它是用来“计算每次访问次数”的变量,但这完全让我不知所措。数什么访问什么?是谁干的?有人能给我解释一下成员变量的用途吗?请尽量使用非技术性术语 其次,在ce结构中,int t_last_update和int stale成员数据有什么意义?t_last_update应该杀死过时的条目,但什么是过时的条目?你说的“杀了它”是什么意思?对于int stale,它应该计算最大负运行?什么是负面运行?它的用途是什么 谢谢你的帮助C++ OpenCV背景减法/代码本?,c++,image,video,opencv,background-subtraction,C++,Image,Video,Opencv,Background Subtraction,我正在尝试codebook方法,但并不真正理解codebook结构中int t的意义。它是用来“计算每次访问次数”的变量,但这完全让我不知所措。数什么访问什么?是谁干的?有人能给我解释一下成员变量的用途吗?请尽量使用非技术性术语 其次,在ce结构中,int t_last_update和int stale成员数据有什么意义?t_last_update应该杀死过时的条目,但什么是过时的条目?你说的“杀了它”是什么意思?对于int stale,它应该计算最大负运行?什么是负面运行?它的用途是什么 谢谢
PS:确认一下我需要什么:解释一下代码书结构中的int t做了什么,以及int t上次更新和int stale在ce结构中做了什么。我想你是在谈论OpenCV书中的这部分代码:
typedef struct code_book {
...
int t; // Count every access
} codeBook;
基本上,您可以将t字段视为每次向代码簿添加新帧时的记号计数。它用于确定从代码本集合开始或最后一次清除陈旧像素到现在已经有多长时间了
编辑:
您有两个正在跟踪的数据结构。codeBook类似于存储在其中的codeBook_元素(即ce结构)的父元素t在每次更新码本时递增。但是,该更新可能不会增加所有codeBook_元素。所以
t_last_update是上次访问特定代码本元素的时间
stale有助于跟踪代码簿条目在代码簿中的“旧”程度
negron代表负运行时。它跟踪代码簿条目被访问以来的时间。如果时间太长,则视为过时,并将其删除以节省内存
OpenCV示例中有代码本方法的更新。看看样品
希望这是有帮助的 什么是“码本法”?背景减法的高级方法谢谢我完全理解:)只有一件小事——t_last_update和int t看起来基本上是一样的,那么为什么有两个不同的变量呢?再次感谢你,关于这一点,我没有说得很清楚:)我将编辑答案以澄清这一点!谢谢你完美的总结:)