見出し画像

画像処理環境の構築⑤

Python3+OpenCVを利用して、
ディスプレイ上にカメラで撮影した画像を表示します
画像処理環境の構築①
画像処理環境の構築②
画像処理環境の構築③
画像処理環境の構築④

1.処理概要

画像1

2.コーディング

#! /usr/local/bin/python3

#------------------------------------------------------------
#-- import
#------------------------------------------------------------
import cv2


#------------------------------------------------------------
#-- global変数
#------------------------------------------------------------
#-- 解像度設定
gWIDTH      = 640
gHEIGHT     = 480

#-- 文字表示設定
gTEXT       = "GOMAME COFFEE"
gCOLOR      = (  0,   0, 255)   #-- BGR
gOFFSET     = (10, 50)
gFONTSCALE  = 1
gTHICKNESS  = 3


#-- カメラ設定(video0)
gCap = cv2.VideoCapture(0)


#------------------------------------------------------------
#-- Main
#------------------------------------------------------------
def main():
   #-- 広告
   sGomameCoffee()

   #-- カメラ設定
   sCamSet()

   while True:
       #-- 撮影
       ret, src = gCap.read()
       if(not ret):
           print("Error::ret is false")
           break

       #-- 画像に文字を入れる
       dst = sImageHack(src)

       #-- ディスプレイに画像を表示
       cv2.imshow("Picamera", dst)

       #-- 無限ループ脱出(Escキーで終了)
       key = cv2.waitKey(1)
       if(key == 27):
           break

   #-- クロージング
   sClose()


#------------------------------------------------------------
#-- カメラ設定
#------------------------------------------------------------
def sCamSet():
   gCap.set(cv2.CAP_PROP_FRAME_WIDTH,  gWIDTH)
   gCap.set(cv2.CAP_PROP_FRAME_HEIGHT, gHEIGHT)


#------------------------------------------------------------
#-- OpenCV終了処理
#------------------------------------------------------------
def sClose():
   gCap.release()
   cv2.destroyAllWindows()


#------------------------------------------------------------
#-- gomame coffee
#------------------------------------------------------------
def sGomameCoffee():
   print("----------------------------------------")
   print("-- GOMAME COFFEE")
   print("-- Nara city roasted beans shop")
   print("-- https://gomamecoffee.stores.jp/")
   print("----------------------------------------")


#------------------------------------------------------------
#-- imageHack
#------------------------------------------------------------
def sImageHack(aSrc):
   dst = cv2.putText(aSrc, gTEXT, gOFFSET, cv2.FONT_HERSHEY_SIMPLEX, gFONTSCALE, gCOLOR, gTHICKNESS, cv2.LINE_AA)
   return dst


#------------------------------------------------------------
#--プログラム実行
#------------------------------------------------------------
if __name__ == '__main__':
   main()


#-- EOF -----------------------------------------------------

3.プログラムファイル

4.実行方法

$ ./gomamecoffeeVideo0.py
動作しない場合は、実行権限を付与してください
$ chmod 744 ./gomamecoffeeVideo0.py

5.処理結果

画像2

6.まとめ

①~⑤を実行することで、画像処理を行う環境が出来ました
今回は、画像に文字を書き込む処理(cv2.putText)を行いました。
ここの関数を変えることでいろいろな画像処理を楽しめますね。

7.謝辞

これらサイトが無ければ、この環境を作ることは出来ませんでした。
改めてお礼を申し上げます。
#-- Ubuntu MATEのインストール方法
https://raspida.com/ubuntumate-on-rpi4b#toc2

#-- Ubuntuでvideo0を認識させる方法
https://note.com/keihino/n/n7d80d0eb2add

#-- Python3インストール方法
https://qiita.com/HyunwookPark/items/8141069bf0b0f3fb175b
https://hirazakura.hatenablog.com/entry/raspberrypi/setup/python
https://www.python.jp/install/ubuntu/index.html
https://qiita.com/Esfahan/items/913fdf27ee4a564b1936#%E3%82%BD%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%97%E3%81%A637%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

#-- OpenCVインストール方法
https://qiita.com/sheep6box/items/37fb63c41d93c088013a
https://qiita.com/wk_/items/8db529a6b24a955888db
https://kamino.hatenablog.com/entry/cmake-list-options
https://qiita.com/devmikyom/items/a568d4246e1103b18f69