簡體   English   中英

OpenCV-Python:如何檢測熱圖像中的熱點?

[英]OpenCV-Python: How to detect a hotspot in thermal image?

我正在使用 openCV 和 Python 制作一個計算機視覺應用程序,該應用程序可檢測熱像儀圖像中的熱點。

圖像基本上是一個大型機械,我想獲得圖像中最熱(就溫度而言)的部分。
到現在為止我的想法是:

  1. 使用顏色量化(和 K 均值)將顏色數量減少到 8。
  2. 使用某種閾值並獲得最多紅色的簇(因為通常紅色=更多熱量)。

現在我已經成功完成了第一部分。 我有一個僅包含 8 種顏色的量化圖像。
到目前為止,我所做的所有閾值處理都需要我自己放置顏色范圍(即使用cv2.inRange函數創建一個桅桿,然后使用cv2.bitwiseAND將蒙版應用於圖像)。 但在這里我希望它是動態的,這樣它就可以得到最熱門的部分。 即,即使紅色很少,它也應該讓我找到紅色最多的區域。

那么有什么方法可以做到這一點呢?

(另外,這里的“熱點”是指實際的熱點。即溫度最高的點。)

編輯:正如Photon的評論所提到的,目前我正在計算紅色的直方圖並使用它來設置閾值。
我希望進一步優化它,所以如果存在更有效的方法,請告訴我。 (這個過程應該很快。我可以在一定程度上妥協准確性)

為了動態估計閾值,您需要查看數據的分布。 為此,您需要計算紅色的直方圖。 然后,找到一個閾值,使一定百分比的像素低於它。 例如 90%。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM