2015-04-14 44 views
1

我想使用blackMagic卡處理視頻。 第一步顯然是捕捉框架,但我不知道如何去做。 我試圖使用通常的opencv代碼來檢測凸輪和顯示框架,但它沒有工作。有人知道這件事嗎?使用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() 
+1

你可以發佈你的代碼嗎? – 101

+0

代碼加:)! – Kirsy92

回答

0

用這種方式來做到這一點的OpenCV的視頻拍攝功能,不支持的Blackmagic設備(可能)。我使用Blackmagic Decklink SDK捕捉Blackmagic相機。您可以在Blackmagic支持網站上找到並下載它: Blackmagic design support

請注意,它不支持Python或OpenCV接口,但有C++跨平臺示例,包括Windows MFC的示例。此外請注意,如果我正確記得,(彩色)像素格式可能與OpenCV不一樣:如果您想進行進一步的圖像處理,則需要自行轉換它們。