1.OpenCVのインストール
OpenCVの公式サイトのダウンロードページからOSに合ったバージョンをダウンロードしてインストールする。opencvフォルダ内のbuild\python\2.7\x86\cv2.pydをPython27フォルダ内のLib\site-packagesにコピーすれば大丈夫なはず。
2.プログラム
俺が書いたみたいに見せてるけれどOpenCVの公式ドキュメントをちょこっと変えただけでなんか申し訳ない。sを押すとphoto.jpgという名前で保存される。qを押すと終了する。
# -*- coding: utf-8 -*- import numpy as np import cv2 cap = cv2.VideoCapture(0) while(True): # フレームをキャプチャする ret, frame = cap.read() # 画面に表示する cv2.imshow('frame',frame) # キーボード入力待ち key = cv2.waitKey(1) & 0xFF # qが押された場合は終了する if key == ord('q'): break # sが押された場合は保存する if key == ord('s'): path = "photo.jpg" cv2.imwrite(path,frame) # キャプチャの後始末と,ウィンドウをすべて消す cap.release() cv2.destroyAllWindows()
左はArduinoの箱。特に意味は無いです。右は画面を撮影したらこうなった。写し鏡みたいな。こちらも特に意味は無いです。
ちなみにcv2.Cannyという関数を使うとエッジ検出ができます。ラズパイでは難しいかもしれないですが,普通のパソコンならリアルタイムで処理できるはずです。
# -*- coding: utf-8 -*- import numpy as np import cv2 cap = cv2.VideoCapture(0) while(True): # フレームをキャプチャする ret, frame = cap.read() # エッジ検出 frame = cv2.Canny(frame,100,200) # 画面に表示する cv2.imshow('frame',frame) # キーボード入力待ち key = cv2.waitKey(1) & 0xFF # qが押された場合は終了する if key == ord('q'): break # sが押された場合は保存する if key == ord('s'): path = "photo.jpg" cv2.imwrite(path,frame) # When everything done, release the capture cap.release() cv2.destroyAllWindows()
こちらエッジがされた画像。緑茶の二文字が見て取れる。画像処理と言っても既存の関数を使うだけで中身を知らなくてもできるという現実が嬉しいような悲しいような……。
どこに保存するんですか?実行しましたが、保存した写真を見つけられなかったです。
返信削除実行しているpythonの作業ディレクトリに保存されます
返信削除pythonの作業ディレクトリの確認方法はこの辺を見ればわかるかと思います
https://qiita.com/Oz-Spade/items/7fa479fae7a0ea6fcddf
pathの部分を絶対パスに変更すれば好きな場所に保存できます
path = "photo.jpg"
の部分を,windowsなら
path = "C:\\photo.jpg"
のようにすればCドライブ直下に保存されます
r"C:\Users\rmlab_minh\Desktop\photo.jpg"
返信削除と書いたらできました。ありがとうございます。