請問各位先進,今天我寫了一個讀取照片判斷亮度分布的程式,其中使用Light Meter(Rectangle) 和 Light meter (line) 這兩個vi 選取範圍,但在讀取時亮度最大值被限制在255,不知道這個部分有沒有辦法把他轉成比較真實的亮度值嗎? 另外想請教的問題是,其中我還使用到二值化後通過閾值設定找出光斑位置,這裡有辦法直接取出光斑面積最大所對應的Object編號嗎? 因接觸這方面不久,若有先進接觸過類似的程式,還請多多指教。
0-255的灰階如果要對應到真實亮度, 可以先進行校正. 可能的作法可以是選定幾個亮度, 再紀錄這幾個亮度對應到的灰階值, 算出比例. 如此, 就可以依照灰階的算出真實的亮度.
關於相關的光斑檢測, 可以搜尋範例.
因為用8bit描述灰階亮度值。一般的Web Cam是RGB各8bit。如果是專業的CCD,可以找10bit的解析度的版本。這樣可以避免過飽和。
不然你可以把亮度調低一點,或是加個filter,衰減光線。這樣就可以量測出完整的光強度profile了。
感謝兩位先進的回答及建議,光強度profile經測試後目前可以完整顯示出相應的數值。但如前面所提的第二個光斑位置問題,使用到二值化後通過閾值設定找出亮點位置。但目前測試了很多方法都無法從IMAQ count object 2 中拉取出object 所對應的相關資料(Area、orientation 、aspect ratio 等等),因此還無法找到光斑面積最大所對應的Object編號。請教前輩們對這方面有沒有其他的見解呢?
可以用IMAQ image
to 2D Array
,然後找出這個2D Array
的最大值的row
與column
,這樣就知道光強度最大值的位置。
從2D array
的資料中,你可以寫程式去計數「大於某強度值」的pixel數量,如此一來就可以得到Area了。
其他如aspect ratio,也可以從2D Array
資料中去用影像處理的方法求得。
這樣有沒有一些解決的方向了呢?
還有其他疑問歡迎繼續提出來。