2018-03-25 - 2018-03-25 (update) |
|
|
Pyhoen版OpenCVの基本的な使い方をメモします.
*Pyhoen OpenCV
詳しい使い方については,下記のリンクが参考になります.
{{small:OpenCV-Pythonチュートリアル [link:http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_tutorials.html] }}
**インストール
{/
pip install opencv-python
/}
**画像を読み込んで表示する簡単な例
{#
import numpy as np
import cv2
img = cv2.imread("Lenna.bmp", 1)
cv2.namedWindow("img")
cv2.imshow("img", img)
key = cv2.waitKey(0)
cv2.destroyAllWindows()
#}
*サンプルコード
openCVで扱う画像のデータ型はは numpy.ndarray です.
そのデータ型を扱う上で,numpyをimportしておくと良いと思われます.
**画像の読み書き
{#
# 画像の読み込み (第二引数を0にするとグレースケールで読み込み)
img = cv2.imread("Lenna.bmp", 1)
# type(img)はnumpy.ndarray
# img.shapeは配列のサイズ (height x width x ch)
# img.dtypeは要素の型 (uint8)
print(type(img))
print(img.shape)
print(img.dtype)
# 画像の表示 (引数はウィンドウ名)
cv2.namedWindow("img")
cv2.imshow("img", img)
key = cv2.waitKey(0)
# ウィンドウの消去
cv2.destroyAllWindows()
# 画像の書き込み
cv2.imwrite("test.bmp", img);
#}
**USBカメラから画像のキャプチャ
{#
# USBカメラのIDを設定して初期化
cap = cv2.VideoCapture(0)
if cap.isOpened() is False:
raise("could not find USB camera")
cv2.namedWindow("img")
key = 0
# 27 = 'ESC' key
while key != 27:
# capture
ret, img= cap.read()
if ret == False:
continue
cv2.imshow("img", img)
key = cv2.waitKey(1)
cv2.destroyAllWindows()
#}
**要素の変換
カラー画像の要素は標準でBGRの順に並んでいます.
RGBの順序やグレースケールに変換する場合cvtColor関数を利用します.
{#
bgr = cv2.imread("Lenna.bmp", 1)
rgb = cv2.cvtColor(bgr, cv2.COLOR_BGR2RGB)
gry = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY)
#}
>> ご意見・ご質問など お気軽にご連絡ください.info