Python计算机视觉——图像处理基础

目录

1.什么是图像

2.图像处理——直方图均衡化

3.图像处理——高斯滤波

4.代码实现

5.实验结果

1.什么是图像

图像都是由像素(pixel)构成的,即图像中的小方格,这些小方格都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子。像素是图像中的最小单位,每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小

2.图像处理——直方图均衡化

(1)直方图:表示具有不同灰度级的像素个数的条形图

(2)直方图均衡化的定义:把原始图像的灰度直方图区间变成在全部灰度范围内的均匀分布的技术,起到增强图像对比度的作用(通过把输入图像的灰度级扩展到较宽灰度范围来实现图像增强)

(3)直方图均衡化的变换函数是图像中像素值的累积分布函数(cumulative distribution function,cdf,将像素值的范围映射到目标范围的归一化操作

3.图像处理——高斯滤波

(1)高斯滤波是一种低通滤波,也可以说是一种数据平滑算法。“模糊”可以理解成每一个像素都取周边像素的平均值,在数值上这是一种“平滑化”,在图像上就表现出“模糊”的效果,中间点失去细节。

(2)高斯滤波器是一种线性滤波器,能够有效的抑制噪声

4.代码实现


from PIL import Image
from pylab import *
from numpy import *
from PCV.tools import imtools
import matplotlib.pyplot as plt
from scipy.ndimage import filters
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


#读取图像到数组中
im = array(Image.open('v.jpg').convert('L'))

#新建一个图像
figure()
subplot(421)
#不使用颜色信息
gray()
#去掉坐标轴
axis('off')
#绘制图像
title('原灰度图像')
imshow(im)

subplot(422)
title('原灰度图像直方图')
#hist函数绘制灰度图像的直方图
hist(im.flatten(),128)



#直方图均衡化
subplot(423)
axis('off')
title('直方图均衡后的图像')
im2,cdf=imtools.histeq(im)
imshow(im2)

subplot(426)
title('均衡化后的直方图')
hist(im2.flatten(),128)

#高斯模糊
subplot(425)
axis('off')
title('使用θ=10的高斯滤波器')
G = filters.gaussian_filter(im,10)
imshow(G)

subplot(427)
axis('off')
title('使用θ=5的高斯滤波器')
F=filters.gaussian_filter(im,5)
imshow(F)

show()

5.实验结果

Python计算机视觉——图像处理基础_第1张图片

 

Python计算机视觉——图像处理基础_第2张图片

 

你可能感兴趣的:(计算机视觉,opencv,人工智能)