這是使用 OpenCV 計算影像直方圖(Histogram)的主控台/終端機範例,支援 Windows 11 與 Ubuntu Linux 24.04,內容依據 OpenCV 官方的直方圖計算教學。程式以 cv2.calcHist 分別統計 B、G、R 三個通道的 256 個範圍(bin),將數值正規化到圖表高度後,在黑底畫布上畫成三條彩色曲線。直方圖統計的是每一個亮度層級有多少像素,因此可以一眼看出影像是偏暗、偏亮還是對比不足。data/ 內附三張範例影像,結果會存到 model/histogram/,不需要 GPU。
[資料夾結構]
- CLAUDE.md / AGENT.md:程式規格書(內容相同)。
- CHANGELOG.md:變更紀錄。
- copyright.txt:版權聲明。
- data/:範例影像 Lena.png(原 Notebook 使用的範例)、sample.png、SC-150.png。
- model/histogram/:輸出結果 histogram.png(已附上 Lena 的範例結果)。
- tool/tools.py:共用函式。
- src/:範例程式、啟動腳本與本說明文件。
- venv/:Python 虛擬環境,由步驟 1 建立。
[執行環境需求]
- 作業系統:Windows 11 或 Ubuntu Linux 24.04。
- Python 3 與 pip。
- 相依套件記錄於 src/requirements.txt,由步驟 1 自動安裝。
- 不需要 GPU。
[操作步驟及說明]
步驟 1:建立虛擬環境
刪除舊的 venv/,重新建立虛擬環境並安裝 src/requirements.txt。若 pip 安裝失敗會直接中止並顯示錯誤訊息。
Windows 11:src\01_venv_create.bat
Ubuntu 24.04:bash src/01_venv_create.sh
步驟 2:啟用虛擬環境
啟用剛才建立的虛擬環境。Linux 請使用 source 的方式執行,否則環境變數不會套用到目前的終端機。
Windows 11:src\02_venv_activate.bat
Ubuntu 24.04:source src/02_venv_activate.sh
步驟 3:執行直方圖計算範例
計算各通道的直方圖並畫成圖表存檔。額外的參數會直接轉交給 Python 程式。
Windows 11:src\03_histogram_calculation.bat
Ubuntu 24.04:bash src/03_histogram_calculation.sh
指定自己的影像:
bash src/03_histogram_calculation.sh --source data/SC-150.png
步驟 4:清除虛擬環境(選用)
不再需要時,可刪除 venv/ 資料夾以釋放磁碟空間。
Windows 11:src\99_venv_clear.bat
Ubuntu 24.04:bash src/99_venv_clear.sh
[Python 程式進入點]
- src/histogram_calculation.py:參數為 [--source IMG] [--width 512] [--height 400] [--output-dir DIR] [--show]。
- --source:輸入影像,預設為 data/Lena.png。
- --width / --height:直方圖圖表的尺寸,預設為 512 × 400。
- --output-dir:輸出資料夾,預設為 model/histogram/。
- --show:除了存檔之外,另外開一個視窗顯示結果。
- 預設值與原 Notebook 相同:每個通道 256 個 bin。輸出的 histogram.png 以藍、綠、紅三條曲線分別對應 B、G、R 通道。
[參考資料]
- OpenCV 直方圖計算教學(原 Notebook 來源):docs.opencv.org/master/d8/dbc/tutorial_histogram_calculation.html
這個 SDK 內建於 MYAI Studio 人工智慧開發工具。
單獨購買價格:5,000元,永久授權,單一 SDK 授權,單機授權,一次下載,無更新服務,一年電子郵件範例諮詢服務。如果是軟體客製化問題,請購買我們的客製化顧問服務點數。