我想使用blackMagic卡处理视频。
第一步显然是捕获帧,但是我不知道该怎么做。
我尝试使用常规的opencv代码检测凸轮和显示框架,但是没有用。有人知道吗?
谢谢
这是我的代码:
我在那儿录音,没关系,那不是我想做的主要事情
我创建了一个类来设置网络摄像头的属性,但我认为在BMCC中用这种方法进行设置不正确
from Capture import Capture
import cv2
import os
from src import improcess
# video recorder
capture = cv2.VideoCapture(1)
cap = Capture(capture)
fourcc = cv2.cv.CV_FOURCC(*'MSVC') # cv2.VideoWriter_fourcc() does not exist
video_writer = cv2.VideoWriter("C:\Users\Syllia\Videos\output3.avi", fourcc, 30.0, (640, 480))
i = 0
cap.set_brightness(25)
while(capture.isOpened()):
# Capture frame-by-frame
ret, frame = cap.cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
if(i==120):
cap.adjust_brightness(100, frame)
if i >= 240 and i<360:
frame = improcess.binarize(170, frame)
if i>360:
frame = gray
video_writer.write(frame)
cv2.imshow('frame',frame)
i = i+1
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
video_writer.release()
capture.release()
cv2.destroyAllWindows()
最佳答案
OpenCV视频捕获功能不支持Blackmagic设备。我使用Blackmagic Decklink SDK捕获Blackmagic相机。您可以在Blackmagic支持站点上找到并下载它:
Blackmagic design support。
请注意,它不支持Python或OpenCV接口(interface),但是有C++跨平台示例,包括Windows MFC的示例。还要注意,如果我没记错的话,(彩色)像素格式可能与OpenCV不同:如果要进行进一步的图像处理,则需要自行转换。
关于python - 使用BlackMagic卡使用Opencv捕获框架(强度梭),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29638812/