簡體   English   中英

在python中使用暴露的elbp函數后無法顯示LBP圖像

[英]Cant display the LBP image after using exposed elbp function in python

我試圖在將 elbp 函數應用於灰度圖像后顯示 lbp 圖像,該函數是在 python 的 face 模塊中手動公開的。 這是代碼:

LBP = cv2.face.elbp(gray_roi,1,8)
cv2.imshow("Face",LBP)

但是,我得到的是一個純黑色的窗口,而且我注意到列和行總是比原始圖像小 2,這是錯誤信息:

無法將輸入數組從形狀 (95,95) 廣播到形狀 (97,97)

我注意到另一個人問了同樣的問題,但使用的是 c++: 在 opencv 中應用 LBPH (elbp()) 運算符后無法顯示圖像但我不明白他所謂的標准化圖像以適應屏幕渲染范圍是什么意思?

這是我的圖像的矩陣輸出:

打印(LBP)

如您所見,像素強度分布是正常的。

這是實際的elbp 功能

@barny thx 為您提供詳細的響應,根據您的解決方案,我將矩陣乘以 64 之類的值,最后我得到了顯示的圖像,但我不知道為什么我必須對一個值進行乘法才能獲得正確的可見圖像,原來的elbp函數不應該做嗎? 並且,矩陣元素值變得非常大:

這是我從顯示的圖像中打印出的直方圖的某些部分(值乘以 64):

histogram=scipy.stats.itemfreq(LBP1)
print(histogram)[[    0  1726]

直方圖

如果有人可以向我解釋為什么我必須乘以這么大的值那會很棒!

ps:這是我第一次詢問堆棧溢出,感謝所有試圖提供幫助的人!

暫無
暫無

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

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