我是Python OpenCV的新手.我在这里阅读了一些文档和答案,但我无法弄清楚以下代码的含义:
if (self.array_alpha is None):
self.array_alpha = np.array([1.25])
self.array_beta = np.array([-100.0])
# add a beta value to every pixel
cv2.add(new_img, self.array_beta, new_img)
# multiply every pixel value by alpha
cv2.multiply(new_img, self.array_alpha, new_img)
Run Code Online (Sandbox Code Playgroud)
我已经知道了Basically, every pixel can be transformed as X = aY + b where a and b are scalars..基本上,我已经理解了这一点.但是,我不明白代码以及如何增加对比度.
直到现在,我已经设法简单地使用了图像 img = cv2.imread('image.jpg',0)
谢谢你的帮助
我正在尝试增加灰度图像的亮度.cv2.imread()返回一个numpy数组.我正在为数组的每个元素添加整数值.从理论上讲,这会增加每一个.之后,我可以将上限阈值设为255,并获得更高亮度的图像.
这是代码:
grey = cv2.imread(path+file,0)
print type(grey)
print grey[0]
new = grey + value
print new[0]
res = np.hstack((grey, new))
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
但是,内部OpenCV例程显然是这样的:
new_array = old_array % 255
Run Code Online (Sandbox Code Playgroud)
高于255的每个像素强度值变为除以255的余数.
结果,我变得黑暗而不是完全变白.
这是输出:
<type 'numpy.ndarray'>
[115 114 121 ..., 170 169 167]
[215 214 221 ..., 14 13 11]
Run Code Online (Sandbox Code Playgroud)
这是图像:
如何关闭此余数机制?有没有更好的方法来提高OpenCV的亮度?