本人为测绘相关专业,此文为学习课程数字图像处理所写的实习作业部分内容。想着写了也就写了,不如发出来记录以下,说不定自己以后会用到的时候能来看看。当然大家能够从中学到或借鉴到什么就更好啦。
本次实验的目标主要是为了深化对图像增强的目的及意义的理解,巩固所学理论知识,掌握直接灰 度变换的图像增强方法,掌握灰度直方图的概念及其计算方法,熟练掌握直方图均衡化的计算过程,学会分析图像直方图。
本次实验主要完成了对图像进行灰度线性变换并显示,对图像进行直方图均衡化并显示,并将原图直方图、线性变换后的直方图、均衡化后图像的直方图显示出来并进行对比。
下为代码部分: import cv2 import numpy as np import matplotlib.pyplot as plt #线性变换增强图像的函数 def linear_transform(img, low_in=0, high_in=1, low_out=0, high_out=1): #参数分别为输入图像,输入图像的归一化后的灰度级最低值与最高值,输出图像的归一化后的灰度级最低值与最高值 #用assert函数来检验灰度级是否正常,不正常则报错 assert high_in >= 0 and high_in <= 1 and low_in >= 0 and low_in <= 1 assert high_out >= 0 and high_out <= 1 and low_out >= 0 and low_out <= 1 #图像灰度级归一化 img = img / 255.0 #创造一个与输入图像大小相同的矩阵,且各元素均为0 out = np.zeros_like(img)