# OpenCV ############################################### # OpenCVでカメラ映像表示ー2 cd cd ~/opencv/samples/python/ vi video.py # 改造する -------------------------------------------------------------------------- 218: #cv.imshow('capture %d' % i, img) # この行をコメントアウト import os cv.imwrite("/tmp/tmp.jpeg", img) # チラつき防止 os.rename("/tmp/tmp.jpeg", "/var/www/html/viewx/img/capture.jpeg") -------------------------------------------------------------------------- python3 video.py # 実行 # ブラウザを確認 cp video.py video2.py vi video2.py # 改造する -------------------------------------------------------------------------- img[50:100, 50:100] = 0 # 追加 218: #cv.imshow('capture %d' % i, img) 219: import os 220: cv.imwrite("/tmp/tmp.jpeg", img) # チラつき防止 221: os.rename("/tmp/tmp.jpeg", "/var/www/html/viewx/img/capture.jpeg") -------------------------------------------------------------------------- python3 video2.py # 実行 # Tiktok風ツール wget -O video2.py http://cloud.aitc.jp/20210226_RaspberryPi4/video2.py python3 video2.py # 実行 vi facedetect.py # 改造する -------------------------------------------------------------------------- 68: #cv.imshow('facedetect', vis) # この行をコメントアウト import os cv.imwrite("/tmp/tmp.jpeg", vis) # チラつき防止 os.rename("/tmp/tmp.jpeg", "/var/www/html/viewx/img/capture.jpeg") -------------------------------------------------------------------------- python3 facedetect.py # 実行 # ほぼリアルタイムに動作 # posenet ############################################### cd ~/posenet-python vi webcam_demo.py -------------------------------------------------------------------------- 57: #cv2.imshow('posenet', overlay_image) # この行をコメントアウト cv2.imwrite("/var/www/html/viewx/img/capture.jpeg", overlay_image) -------------------------------------------------------------------------- python3 webcam_demo.py # ※初回だけ学習済データを取得するので時間がかかる # 1回の処理で1秒弱 # 精度を下げて、実行速度を上げる python3 webcam_demo.py --cam_width 80 # FPSの測り方 vi webcam_demo.py ----- 最後のあたり ------------------------------------------------------- 59: frame_count += 1 60: if cv2.waitKey(1) & 0xFF == ord('q'): 61: break 62: print('FPS: ', 1 / (time.time() - start)) # 追加 start = time.time() # 追加 63: print('Average FPS: ', frame_count / (time.time() - start)) -------------------------------------------------------------------------- # yolov5 ############################################### cd ~/yolov5 # サンプル画像確認 cp data/images/bus.jpg /var/www/html/viewx/img/capture.jpeg cp data/images/zidane.jpg /var/www/html/viewx/img/capture.jpeg # サンプル画像確認 python3 detect.py # ※初回だけ学習済データを取得するので時間がかかる cp runs/detect/exp*/bus.jpg /var/www/html/viewx/img/capture.jpeg cp runs/detect/exp*/zidane.jpg /var/www/html/viewx/img/capture.jpeg vi detect.py -------------------------------------------------------------------------- 48: #view_img = check_imshow() # この行をコメントアウト view_img = True # 常にTrue 119: if view_img: 120: #cv2.imshow(str(p), im0) # この行をコメントアウト cv2.imwrite("/var/www/html/viewx/img/capture.jpeg", im0) # 追加 121: cv2.waitKey(1) # 1 millisecond -------------------------------------------------------------------------- python3 detect.py --source 0 # 1回の処理で4~5秒 # 精度を下げて、実行速度を上げる python3 detect.py --source 0 --img-size 100 # 検出できるモノのリスト vi detect.py -------------------------------------------------------------------------- 56: # Get names and colors 57: names = model.module.names if hasattr(model, 'module') else model.names print (names) # 追加 58: colors = [[random.randint(0, 255) for _ in range(3)] for _ in names] -------------------------------------------------------------------------- # 実行 python3 detect.py --source 0 --img-size 100