开放CV 阈值负值

2024-09-28 22:31:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算运动光流,我试图减少噪音,通过阈值较小的值。当计算运动流时,我也会得到负值,我希望保留这些值,但一旦应用阈值,这些值就会被丢弃。在

我曾想过用绝对值来达到这个目的,但是,我怎样才能找回负片呢?在

另外,我正在使用numpy数组,如果这有帮助的话:

flow = cv2.calcOpticalFlowFarneback(frameGray, frame1Gray, 0.5,1,3,15,3,5,1)

thresh_flow = cv2.threshold(np.absolute(flow), 5, 255, cv2.THRESH_TOZERO)

Tags: 目的numpythreshold阈值数组flowcv2噪音
1条回答
网友
1楼 · 发布于 2024-09-28 22:31:39

Numpy提供非常强大的indexing capabilities。其中之一是使用布尔数组建立索引。可以将与条件匹配的元素指定给某个值,该值似乎是您想要的。例如

threshold = 2
flow[np.abs(flow) < threshold] = 0

将为flow中绝对值太接近零的每个元素赋值。假设flow如下所示:

^{pr2}$

应用此操作的结果是:

[0  2  3]
[0 -2 -3]

它正确地去除了少量的正负元素,但保留了负元素的符号。在

相关问题 更多 >