一、配置python和opencv
? ? ? ? 由于之前课程已经安装过python,这里不再描述
????????python下载地址:Download Python | Python.orgThe official home of the Python Programming Language https://www.python.org/downloads/
????????在配置好python后,win+r键打开命令行,若python配置时是全局变量,可以直接用 pip 包管理工具进行安装,输入:pip3 install opencv-python

?二、图像处理基础内容
? ? ? ? 1、直方图和直方图均衡化
? ? ? ? ? ? ? ?1.1 直方图
????????????????????????直方图又称质量分布图,它是表示资料变化情况的一种主要工具。用直方图可以解析出资料的规则性,比较直观地看出产品质量特性的分布状态,对于资料分布状况一目了?然,便于判断其总体质量分布情况。
? 测试代码? ? ? ? ? ??
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
def histogram_demo(image):
plt.hist(image.ravel(), 256, [0, 256])#ravel函数功能是将多维数组降为一维数组
plt.show()
image = cv.imread('2.jpg', 1)
cv.imshow('souce image', image)
histogram_demo(image)
cv.waitKey(0)
cv.destroyAllWindows()
原图? ? ? ? ? ??
直方图

?1.2 直方图均衡化
?????????直方图均衡化(Histogram Equalization)是一种增强图像对比度(Image Contrast)的方法,其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。
? ? ? ? 测试代码
import cv2
import numpy as np
img = cv2.imread("1.jpg", 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("src", gray)
dst = cv2.equalizeHist(gray)
cv2.imshow("dst", dst)
cv2.waitKey(0)
????????效果

?
? ? ? ? 2、高斯滤波
????????高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。、
? ? ? ? 原理? ?
????????图像大多数噪声均属于高斯噪声,因此高斯滤波器应用也较广泛。高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像去噪。
????????可以简单地理解为,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由其本身值和邻域内的其他像素值经过加权平均后得到。
????????高斯滤波的具体操作是:用一个用户指定的模板(或称卷积、掩膜)去扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
? ? ? ? 测试代码
import cv2
import numpy as np
img = cv2.imread("2.jpg", 1)
cv2.imshow("src", img)
dst = cv2.GaussianBlur(img,(5,5),0)
cv2.imshow("dst", dst)
cv2.waitKey(0)
? ? ? ? 效果
????????
?
|