python加权平均法灰度化代码
时间: 2023-10-13 10:18:42 浏览: 159
下面是一个简单的 Python 代码示例,使用加权平均法进行图像灰度化:
```python
import numpy as np
import cv2
def weighted_average_grayscale(image, weights=[0.299, 0.587, 0.114]):
"""
使用加权平均法将彩色图像转换为灰度图像
:param image: 彩色图像
:param weights: 加权系数,默认为[0.299, 0.587, 0.114],即YCbCr颜色空间中的系数
:return: 灰度图像
"""
# 将图像转换为浮点数类型
image = image.astype(np.float32) / 255.0
# 计算每个像素的加权平均值
gray = np.dot(image, weights)
# 将灰度值缩放到[0,255]范围内
gray = (gray * 255.0).astype(np.uint8)
return gray
# 读取彩色图像
image = cv2.imread('test.jpg')
# 将彩色图像转换为灰度图像
gray = weighted_average_grayscale(image)
# 显示灰度图像
cv2.imshow('Gray Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个函数使用默认的加权系数[0.299, 0.587, 0.114],这些系数是在YCbCr颜色空间中使用的。你可以根据需要修改这些系数来得到不同的灰度效果。
阅读全文