图形数字处理作业
使用Python+OpenCV实现对图像的处理。
作业说明:
1.直方图均衡化
2.平滑滤波器(中值和均值)
3.锐化滤波器(一阶和二阶的差异)
一.直方图均衡化
1.简单说明:
通过改变图像的直方图来改变图像中各像素的灰度,主要用于增强动态范围偏小的图像的对比度.把原始图像的直方图变换为均匀分布(均衡)的形式,直方图均衡化是一种全局处理方式,它对处理的数据不加选择。
2.代码:
import cv2
import numpy as np
img = cv2.imread('caise2.jpg',1) #此图片是彩色图,名为caise2.jpg
(b,g,r) = cv2.split(img) #通道分解
bH = cv2.equalizeHist(b) #函数equalizeHist用来做直方图均衡化
gH = cv2.equalizeHist(g) #函数equalizeHist只支持单通道的灰度图
rH = cv2.equalizeHist(r) #彩色图要多通道分离成单通道,然后再合并成多通道
result = cv2.merge((bH,gH,rH),)#通道合成
res = np.hstack((img,result))
#cv2.imshow('dst',res)
cv2.imshow('caise1',res)
cv2.waitKey(0)
3.效果图对比
4.自我理解
通过上图可以看出,直方图均衡化让原本亮的图片变的更亮,所以直方图均衡化应该适用于图片整体偏亮或者偏暗的图像,因为它属于一种全局处理方式,对图片上的所有数据都不加选择的处理。
二.平滑滤波器(中值和均值)
1.简单说明:
两者都是一种降低噪声的平滑滤波器;