joint_histogram — IMGMETRICS information op

• 資料種類:image2d × image2d → image2d

• 呼叫: import fullseye as fs; fs.ledger.joint_histogram(a, b, bins=64, data_range=None)(要直接呼叫實作,import imgmetrics; imgmetrics.joint_histogram(a, b, bins=64, data_range=None);從台帳取用則 opsimgmetrics.get("joint_histogram"))

用法

兩張影像的聯合直方圖(正規化後的聯合機率)。

分箱寬度由 data_range 決定 —— 若按每張影像的 min/max 伸縮, 均勻偏暗的圖與均勻偏亮的圖的互資訊就會相同。

步驟:把 2 張圖攤平,對兩者用相同的分箱邊界 [lo, lo + data_range] (lo = 2 張圖最小值中較小者,bins 等分)求 numpy.histogram2d, 再除以總數得到聯合機率。

• a、b:同形(維數不限)、有限。dtype 不同時須明確給出 data_range(拒絕從混合 dtype 推定)。

• bins:2 以上的整數。

• data_range:整數 dtype 自動(uint8 = 255 等),float 僅在 [0, 1] 時為 1.0,其他情況必須明確給出。

• 回傳值:(bins, bins) 的 float64,和為 1。列是 a 的分箱,欄是 b 的分箱。超過 lo + data_range 的值不進入任何分箱(不計數)。

• 失敗(MetricContractError):形狀不同 / 為空 / 非有限 / bins < 2 / 落入範圍的樣本為 0。

joint_entropy / mutual_information / image_entropy 都由此表計算。

詳細使用指南

• image_difference_metrics 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• image_quality_metrics — py -3.11 examples/image_quality_metrics.py

型別可銜接的下一個運算子(可接受 image2d 作為輸入)

mse · rmse · psnr · ssim · ms_ssim · ssim_map · image_entropy · joint_entropy

同類別(information)

image_entropy · joint_entropy · mutual_information · normalized_mutual_information


*Provenance: imgmetrics.py — IMGMETRICS 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.