OpenCV でヒストグラム平坦化(OpenCV,Python を使用)
処理前
|
|
処理後
|
|
【サイト内の OpenCV 関連ページ】
- OpenCV について [PDF] , [パワーポイント]
- OpenCV のインストール,画像表示を行う C++ プログラムの実行手順: 別ページ »で説明
- OpenCVとPythonを活用した画像・ビデオ処理プログラム: 別ページ »にまとめ
- OpenCV 4 の C/C++ プログラム: 別ページ »にまとめている.
【OpenCV の公式情報】
- OpenCV の公式ページ: https://opencv.org
- GitHub の OpenCV のページ: https://github.com/opencv/opencv/releases
前準備
Python 3.12 のインストール
以下のいずれかの方法で Python 3.12 をインストールする。
方法1:winget によるインストール
Python がインストール済みの場合、この手順は不要である。管理者権限のコマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。
winget install -e --id Python.Python.3.12 --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 AssociateFiles=1 InstallLauncherAllUsers=1"
--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動すると PATH が自動的に設定される。
方法2:インストーラーによるインストール
- Python 公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンから Windows 用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」に必ずチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。
- AI エディタ Windsurf のインストール
Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。
以下のコマンドを管理者権限のコマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。winget install --scope machine --id Codeium.Windsurf -e --silent --accept-source-agreements --accept-package-agreements【関連する外部ページ】
Windsurf の公式ページ: https://windsurf.com/
- 必要なPythonライブラリのインストール
【関連する外部ページ】
【サイト内の関連ページ】
画像ファイル fruits.jpg, home.jpg のダウンロード
- Windows の場合
次のコマンドを実行.
cd /d c:%HOMEPATH% curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg curl -O https://raw.githubusercontent.com/opencv/opencv/master/samples/data/home.jpg - Ubuntu, RaspberryPi の場合
次のコマンドを実行.
sudo mkdir -p /usr/local/image cd /usr/local/image sudo chown -R $USER . curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg curl -O https://raw.githubusercontent.com/opencv/opencv/master/samples/data/home.jpg
ヒストグラム平坦化
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.
Python のまとめ: 別ページ »にまとめ
python
- 画像の表示
Ubuntu, RaspberryPi のときは,「IMROOT=os.environ['LOCALAPPDATA'] + '/'」の行を,「IMROOT="/usr/local/image/"」のように書き換える.
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "fruits.jpg") mono = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY) cv2.imshow("mono", mono) equ = cv2.equalizeHist(mono) cv2.imshow("equ", equ) cv2.waitKey(0) cv2.destroyAllWindows()画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる
- 別の画像の表示
Ubuntu, RaspberryPi のときは,「IMROOT=os.environ['LOCALAPPDATA'] + '/'」の行を,「IMROOT="/usr/local/image/"」のように書き換える.
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "home.jpg") mono = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY) cv2.imshow("mono", mono) equ = cv2.equalizeHist(mono) cv2.imshow("equ", equ) cv2.waitKey(0) cv2.destroyAllWindows()画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる