【发布时间】:2019-11-28 00:34:18
【问题描述】:
使用以下代码隔离红色通道并使其在显示的流中显示为红色。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
red = frame[:, :, 2]
new = np.zeros(frame.shape)
new[:, :, 2] = red
#flip = cv2.flip(dummy, 1)
cv2.imshow( 'frame', new )
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我看到的是均匀的鲜红色流,但 frame[:, :, 2] 为我提供了正确隔离的通道,但为灰度。
【问题讨论】:
-
不知道这是否是问题所在,但您可能需要确保
new具有与dtype相同的frame:new = np.zeros_like(frame)。 -
像魅力一样工作 np.zeros_like 正是我想要的
标签: python opencv video-streaming webcam