(7)ラズベリーパイUSBカメラ読み取り

https://blog.csdn.net/qq_42403190/article/details/90453305

ファイルを作成します。

camera.py

 

シンプルな読書

#は/ usr / binに/のpython3するENV! - * -コーディング:UTF-8 - * - 
NP ASインポートnumpyの
インポートCV2 

カメラ映像から取得した= cv2.VideoCapture(0)#CAP 

#は、ビデオプレーヤーインターフェースの長さと幅を取得
=幅int型(cap.get(cv2.CAP_PROP_FRAME_WIDTH)+ 0.5) 高さ= INT(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)+ 0.5) 
はVideoWriterエンコーダは、オブジェクトの作成定義
FOURCC = cv2.VideoWriter_fourcc(* 'mp4v' )#は、必ず小文字ザ使用
= cv2.VideoWriter( 'output.mp4'、FOURCC、20.0(幅、高さ))OUT 

一方(cap.isOpened()): カメラがフレーム読み出し
    RET、フレーム= cap.readを()
    IF ==真RET: 出力電流のフレーム
        out.write(フレーム)

        cv2.imshow( 'マイカメラ'、フレーム)
 
        #のQキーボードを押し出口
        (cv2.waitKey(1)&0xFFで。)IF == ORD( 'Q'):
            BREAK 
    他に:
        BREAK 

#リリース資源
out.release()
cap.release()
cv2.destroyAllWindows()

  

プロセス統合

 

#!は/ usr / binに/ envがのpython3する
UTF-8を- * - : - * -コーディング#が。
インポートCV2 
NP ASインポートnumpyの
名前= 0 
CAP = cv2.VideoCapture(0)
 
cap.set(3640)
cap.set(4480)
 
RET、フレーム= cap.read()
行、COLS、= frame.shapeチャネル
プリント(COLS、行、チャネル)
 
#画像前処理
DEF IMG P(IMG): 
 階調
    gray_img = cv2.cvtColor(フレーム、CV2。 COLOR_BGR2GRAY) 
 平滑
    ぼかし= cv2.blur(gray_img、(3,3))
 
    #1値化
    RET1、のTh1 = cv2.threshold(ぼかし、190、255、cv2.THRESH_BINARY) 
 透視変換
    B = 50  
    PTS1 = NP .float32([B、0] 、[COLS-B、0]、[0、行]、[COLS、行])
    PTS2 = NP .float32([0,0] 、[COLS、0]、[0、行]、[COLS、行])
    M = cv2.getPerspectiveTransform(PTS1、PTS2)
    DST = cv2.warpPerspective(ぼかし、M、(COLS、行))
 
    戻りDST 
 
 
ながら(1):
        RET、フレーム= cap.read()
        DST = img_p(フレーム)
        CV2。関数imshow( 'USBカメラ'、DST)
 
        K = cv2.waitKey(50)
        (K == ORD( 'Q'))場合:
            ブレーク
        のelif(kは== ORD( 'S')):
                #NAME =入力(」名前: ')
                名+ = 1 
                名= R' ./カメラ/ '+ STR(名)+'」の.jpg 
                cv2.imwrite(ファイル名、DST)
                プリント(ファイル名) 
                の#break
cap.release()
cv2.destroyAllWindows()

  

ファイルを実行します

python3のcamera.py

  

結果:

 

おすすめ

転載: www.cnblogs.com/kekeoutlook/p/11067593.html