图像处理基础

本文介绍了图像处理的基础概念,包括直方图的定义及其实现,高斯差分(DOG)滤波的原理与应用,以及直方图均衡化的概念和效果分析。直方图用于表示图像数据分布,DOG滤波通过对比不同尺度的高斯模糊图像来增强细节,而直方图均衡化则能提升图像对比度。
摘要由CSDN通过智能技术生成


环境:Windows10、Anaconda2(python2.7)

1、直方图

1.1 概念

直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。直方图是数值数据分布的精确图形表示。

1.2 实现

代码:

# -*- coding: utf-8 -*-
from PIL import Image       # 从PIL库中导入Image
from pylab import *     # 将pylab库全部导入

# 添加中文字体支持
from matplotlib.font_manager import FontProperties      # 给maplotlib添加中文字体。
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)    # fname指定字体文件
# 第七行的作用是为了消除更换为unicode字体之后0、负数之类的显示异常。
# 之后所有使用中文字体的地方都以u""的形式出现,并指定fontproperties属性为我们的指定的font就行了

# 打开图像,并转成灰度图像
im = array(Image.open('../data/empire.png').convert('L'))  # convert()函数,用于不同模式图像之间的转换

# 输出原图
figure()
subplot(1,3,1)
gray()  # 绘制图像灰度化
axis('equal') # 表示x轴和y轴的单位长度相同
axis('off') # 关闭所有坐标轴线、刻度标记和标签
imshow(im)
title(u'原图', fontproperties=font)

# 输出图像轮廓
subplot(1,3,2)
gray()
contour(im, origin='image')  # contour()检测图像轮廓
axis('equal')
axis('off')
title(u'图像轮廓', fontproperties=font)

# 输出图像直方图
subplot(1,3,3)
hist(im.flatten(), 128) # f
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值