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
結果: