本文来自我的网站-跨时代的jay
利用python实现烟雾图像处理

- 颜色规范化
- 直方图均衡化处理
- 背景减除法建立混合高斯模型
- 中值滤波去噪
颜色规范化
- 最大值灰度处理
gray = max(r,g,b)
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取原始图像
img = cv2.imread('smoke1.png')
# 获取图像高度和宽度
height = img.shape[0]
width = img.shape[1]
# 创建一幅图像
grayimg = np.zeros((height, width, 3), np.uint8)
# 图像最大值灰度处理
for i in range(height):
for j in range(width):
# 获取图像R G B最大值
gray = max(img[i, j][0], img[i, j][1], img[i, j][2])
# 灰度图像素赋值 gray=max(R,G,B)
grayimg[i, j] = np.uint8(gray)
# 显示图像
cv2.imshow("src", img)
cv2.imshow("gray", grayimg)
# 等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()


- 平均灰度处理
gray = (r,g,b)/3

- 加权平均能得到较合理的灰度图像: