トップページ人工知能,実世界DBOpenCV のプログラム例RGB から LAB への色空間の変換 (Python を使用)

RGB から LAB への色空間の変換 (Python を使用)

Python と OpenCV を用いて,RGB, LAB 色空間の変換を行う.

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境

Python の URL: http://www.python.org/

【Python, pip の使い方】

Python, pip は,次のコマンドで起動できる.

Python 開発環境のインストール】

Python 用 opencv-python 4.3 のインストール

Windows の場合

コマンドプロンプトで次のコマンドを実行

python -m pip install -U opencv-python

Ubuntu の場合

端末で次のコマンドを実行

sudo apt -y update
sudo apt -y install libopencv-dev python3-opencv
  • ラズベリーパイ の場合

    端末で次のコマンドを実行

    sudo apt -y update
    sudo apt -y install libopencv-dev python3-opencv python3-opencv-apps
    

    画像ファイル fruits.jpg, home.jpg のダウンロード

    画像ファイル fruits.jpg, home.jpg のダウンロード手順は,別ページで説明している.

    ※ 以下, 画像ファイルは「"/usr/local/image/」にあるものとして,プログラムを示す.

    https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg, home.jpg を使用する(謝辞:画像の作者に感謝します)

    RGB 色空間から LAB 色空間への変換

    Python プログラムを動かす.

    Python プログラムを動かすために, Windows では「python」, Ubuntu では「python3」などのコマンドを使う.

    あるいは, 開発環境や Python コンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripter など)の利用も便利である.

    あるいは,オンラインで動くGoogle Colaboratory のノートブックの利用も,場合によっては便利である.

    fruits.jpg での実行

    Windows の場合には,「IMROOT="/usr/local/image/"」は、「IMROOT="C:/image/"」のように書き換えて実行する.

    import cv2
    IMROOT="/usr/local/image/"
    bgr = cv2.imread(IMROOT + "fruits.jpg")
    lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)
    cv2.imshow("", lab)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる

    [image]

    [image]

    home.jpg での実行

    Windows の場合には,「IMROOT="/usr/local/image/"」は、「IMROOT="C:/image/"」のように書き換えて実行する.

    import cv2
    IMROOT="/usr/local/image/"
    bgr = cv2.imread(IMROOT + "home.jpg")
    lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)
    cv2.imshow("", lab)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる

    [image]

    [image]

    LAB 色空間でのしきい値処理

    Python プログラムを動かす.

    Python プログラムを動かすために, Windows では「python」, Ubuntu では「python3」などのコマンドを使う.

    あるいは, 開発環境や Python コンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripter など)の利用も便利である.

    あるいは,オンラインで動くGoogle Colaboratory のノートブックの利用も,場合によっては便利である.

    色空間によるマスク画像

    Windows の場合には,「IMROOT="/usr/local/image/"」は、「IMROOT="C:/image/"」のように書き換えて実行する.

    import cv2
    import numpy as np
    IMROOT="/usr/local/image/"
    bgr = cv2.imread(IMROOT + "fruits.jpg")
    lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)
    cv2.imshow('mask', cv2.inRange(lab, np.array([50,50,50]), np.array([130,255,255])))
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる

    [image]

    [image]

    マスク画像と元画像の重ね合わせ

    Windows の場合には,「IMROOT="/usr/local/image/"」は、「IMROOT="C:/image/"」のように書き換えて実行する.

    import cv2
    import numpy as np
    IMROOT="/usr/local/image/"
    bgr = cv2.imread(IMROOT + "fruits.jpg")
    lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)
    cv2.imshow('res', cv2.bitwise_and(bgr, bgr, mask=cv2.inRange(lab, np.array([50,50,50]), np.array([130,255,255]))))
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる

    [image]

    [image]