2017-08-29 33 views
0

我想計算圖像的對數對比度。 這是在Python代碼python中圖像的對數對比度增強

import cv2 
import math 
import numpy as np 
img=cv2.imread("lena.jpg") 
width,height=img.shape[:2] 
NewImg=np.zeros_like(img) 
InputMax=np.amax(img) 
InputMin=np.amin(img) 
a=(255.0/(InputMax-InputMin)) 
b=255-(a*InputMax) 
for i in range(width): 
    for j in range(height): 
     x=img[i,j] 
     y=np.array(map(math.log10,x)) 
     NewImg[i,j]=(a*y)+b 
print NewImg 

回答

0

a=(255/float(InputMax-InputMin))取出float()並將其更改爲a=(255.0/InputMax-InputMin)並在最後第3行,將其更改爲y=np.array(map(math.log10,x))

這裏:

import cv2 
import math 
import numpy as np 
img=cv2.imread("xyz.jpg") 
width,height=img.shape[:2] 
NewImg=np.zeros_like(img) 
InputMax=np.amax(img) 
InputMin=np.amin(img) 
a=(255.0/(InputMax-InputMin)) 
b=255-(a*InputMax) 
for i in range(width): 
    for j in range(height): 
     x=img[j,i] 
     y=np.array(map(math.log10,x)) 
     NewImg[j,i]=(a*y)+b 
print NewImg 
+0

。現在它給了以下錯誤Y = np.array(地圖(math.log10,X)) ValueError異常:數學域錯誤 – neha

+0

@neha在你的問題,你有使用'k'變量,但沒有聲明,所以我用'i'來代替。你可以檢查不一致,並更新問題中的實際代碼,你正在運行? –

+0

@neha我跑了更新後的代碼,它不會給我一個數學領域的錯誤。 –