PythonとOpenCVで画像処理⑤【トラックバー】
*OpenCVのバージョンは2.4.1です
【トラックバーの生成】
- createTrackbar関数を使えばトラックバーを生成できる
- cv2.createTrackbar(トラックバー名, ウィンドウ名, 最小値, 最大値, 関数名)
- トラックバーの値を変更したとき、指定した関数が実行される
- 引数に変更した後の値が渡される
【トラックバーの値取得】
- getTrackbarPos関数を使えばトラックバーの値を取得できる
- cv2.getTrackbarPos(トラックバー名, ウィンドウ名)
【RGBで色を指定するトラックバーを生成】
# -*- coding: utf-8 -*- import cv2 # トラックバーの値を変更する度にRGBを出力する def changeColor(val): r = cv2.getTrackbarPos("R", "img") g = cv2.getTrackbarPos("G", "img") b = cv2.getTrackbarPos("B", "img") print [r, g, b] # 画像の読み込み img = cv2.imread("test.jpg", 1) # ウィンドウのサイズを変更可能にする cv2.namedWindow("img", cv2.WINDOW_NORMAL) # トラックバーの生成 cv2.createTrackbar("R", "img", 0, 255, changeColor) cv2.createTrackbar("G", "img", 0, 255, changeColor) cv2.createTrackbar("B", "img", 0, 255, changeColor) # 「Q」が押されるまで画像を表示する while (True): cv2.imshow("img", img) if cv2.waitKey(1) & 0xFF == ord("q"): break cv2.destroyAllWindows()
【生成されたトラックバー】
【参考】
Trackbar as the Color Palette — OpenCV-Python Tutorials 1 documentation