我想使用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/

10-14 07:59