2017-10-14 52 views
0

我正在閱讀有關本地二進制模式,我有以下代碼來提取本地二進制模式。打開cv內存圖像和保存的圖像是不同的

from skimage import feature 
import cv2 as cv 
img = cv.imread("image.jpg",0) 
lbp = feature.local_binary_pattern(img,8,1,"default") 
cv.imshow("LBP",lbp) 

輸出圖像看起來像這樣

enter image description here

原始圖像是
enter image description here
但是當我保存圖像,並使用下面的代碼

from skimage import feature 
import cv2 as cv 
img = cv.imread("image.jpg",0) 
lbp = feature.local_binary_pattern(img,8,1,"default") 
cv.imwrite("new_lbp.jpg",lbp) 
newim = cv.imread("new_lbp.jpg",0) 
cv.imshow("new image",newim) 
載入它

圖像看起來像這樣。
enter image description here

爲什麼這兩個圖像看起來不一樣?任何機構都可以幫助我理解它嗎?

+0

是不是你應該使用'newim'而'cv.imshow(「新形象」,IMG)' – ZdaR

+0

@ZdaR是的,你是對的,我剛剛編輯了代碼。 – Mitiku

+0

然後輸出必須改變以及@Mitiku? – ZdaR

回答

-2

opencv的有一些問題,同時節省JPG圖像,因此您可以使用其他格式,如BMP

+0

它應該是** png **而不是** bng **。 –

+0

是的,但應該是bmp –

+0

它可以是任何無損圖像格式,但由於數據不代表像素值,所以情況並非如此。 – Miki