python中图像的对数对比度增强

时间:2017-08-29 06:39:16

标签: python-2.7

我想计算图像的对数对比度。 这是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

1 个答案:

答案 0 :(得分:0)

删除float()中的a=(255/float(InputMax-InputMin))并将其更改为a=(255.0/InputMax-InputMin),然后在最后一行中将其更改为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