目录

一.灰度图

二.直方图

1.原理

2.实现

三.高斯滤波

1.原理

2.实现

四.直方图均衡化

1.原理

2.实现


一.灰度图

把白色和黑色之间按照对数关系分为若干个等级,称为灰度。灰度一共分为256阶。用灰度表示的图像称为灰度图像。任何颜色都有红、绿、蓝三原色(RGB)组成,而灰度图像只有一个通道,有256个灰度等级,255表示最白,0表示最黑

在实验中,我使用了convert()实现由彩色图像向灰度图像的转换
PIL中convert()的原理:

1.img = img.convert()
PIL有九种不同的模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。

2.img.convert(‘1’)
为二值图像,非黑即白。每个像素用8个bit表示,0表示黑,255表示白。

3.img.convert(‘L’)
为灰度图像,每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
转换公式:L = R * 299/1000 + G * 587/1000+ B * 114/1000。

二.直方图

1.原理

图像的直方图是用来表征图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。

2.实现

三.高斯滤波

1.原理

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。
通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

2.实现

四.直方图均衡化

1.原理

直方图均衡化(Histogram Equalization) 又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。

2.实现

def Histeq(img,nbr_bins=256):#计算图像的直方图imhist,bins=histogram(img.flatten(),nbr_bins)#累计分布函数cdf = imhist.cumsum()#归一化cdf = 255*cdf/cdf[-1]#使用累积分布函数的线性插值,计算新的像素值img2 = interp(img.flatten(),bins[:-1],cdf)return img2.reshape(img.shape),cdfif __name__ == '__main__':#直方图均衡化#解决title是方框的问题mpl.rcParams['font.sans-serif'] = ['SimHei']img = array(Image.open('1.jpg').convert('L'))img2,cdf = Histeq(img)figure()subplot(2, 2, 1)#关闭所有坐标轴线、刻度标记和标签axis('off')gray()title('原始图像')imshow(img)subplot(2, 2, 2)axis('off')title('直方图均衡化后的图像')imshow(img2)subplot(2, 2, 3)axis('off')title('原始直方图')# hist(im.flatten(), 128, cumulative=True, normed=True)hist(img.flatten(), 128)subplot(2, 2, 4)axis('off')title('均衡化后的直方图')# hist(im2.flatten(), 128, cumulative=True, normed=True)hist(img2.flatten(), 128)show()

计算机视觉-图像处理基础相关推荐

  1. (一)计算机视觉 --图像处理基础

    目录 一.PIL-Python图像库 1.1 读取图像并转换灰度图 1.2 对图片进行格式转换 1.3 创建缩略图 1.4 拷贝并粘贴区域 1.5 调整尺寸和旋转 二.Matplotlib库 2.1  ...

  2. 计算机视觉--图像处理基础操作学习博客参考1

    以下内容为参考学习使用. 个人电脑的浏览器经常更换,不便收藏,记录在本文供以后学习参考使用. 该网友有编程经验,从实践的角度看OpenCV和图像处理的基本操作,并提供代码和解析 博客园某网友的的链接: ...

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

    目录 1.什么是图像 2.图像处理--直方图均衡化 3.图像处理--高斯滤波 4.代码实现 5.实验结果 1.什么是图像 图像都是由像素(pixel)构成的,即图像中的小方格,这些小方格都有一个明确的 ...

  4. Python计算机视觉:第一章 图像处理基础

    第一章 图像处理基础 1.1 PIL-Python图像库 1.1.1 对图片进行格式转换 1.1.2 创建缩略图 1.1.3 拷贝并粘贴区域 1.1.4 调整尺寸及旋转 1.2 Matplotlib库 ...

  5. 图像处理与计算机视觉:基础,经典以及最近发展(总结)

    图像处理与计算机视觉:基础,经典以及最近发展(总结) 现在已经把所有的文章打包,分成了16个子文件,欢迎整体下载. 图像处理和计算机视觉中的经典论文下载地址:http://pan.baidu.com/ ...

  6. 《计算机视觉技术与应用》-----第二章 图像处理基础

    系列文章目录 <计算机视觉技术与应用>-----第二章 图像处理基础 <计算机视觉技术与应用>-----第三章 图形用户界面 <计算机视觉技术与应用>-----第四 ...

  7. 【总结】图像处理与计算机视觉:基础,经典及发展

    一.转自: http://blog.csdn.net/dcraw/article/details/7617891 二.转自:http://blog.csdn.net/qq_26499769/artic ...

  8. 计算机视觉知识基础_我见你:计算机视觉基础知识

    计算机视觉知识基础 My introduction to Computer Vision happened in 2017 when I was doing Self-driving Car Nano ...

  9. [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解

    一.学习目标 了解什么是色彩空间 了解opencv中色彩空间的转换 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[python opencv ...

最新文章

  1. 读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数
  2. [USACO1.3]号码锁 Combination Lock
  3. boost::python::to_python_converter相关的测试程序
  4. 主流存储网络类型分析
  5. i/o传输数据打印换行符的方法
  6. 一个配件、一块面料,制造企业流水线因为AI变了新模样(人工智能应用案例)
  7. [jQuery] jQuery中如何将数组转化为json字符串,然后再转化回来?
  8. python冒泡算法_python_冒泡算法
  9. coreboot学习9:ramstage阶段之设备初始化流程
  10. python课后题答案第一章_python核心编程课后习题解答第一章
  11. java main方法static_在java中为什么要把main方法定义为一个static方法?
  12. Android学习笔记(十二)——Fragment向Activity传递消息
  13. 在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法
  14. PHP可变变量的简单使用
  15. 杭州电子科技大学计算机复试内容,2018年杭州电子科技大学考研复试录取办法...
  16. 斗破苍穹手游找不到以前服务器,斗破苍穹手游服务器爆满怎么进 服务器爆满进入方法[图]...
  17. Go语言:HTTP客户端请求设置用户浏览器版本User-Agent
  18. java一维数组输入整数n_用键盘接受输入的整数,将输入的整数保存到一个一维数组,然后输出最大值...
  19. (译)2019年前端性能优化清单 — 中篇
  20. 发展型机器人:由人类婴儿启发的机器人. 2.3 类人婴儿机器人

热门文章

  1. css旋转,附源代码
  2. Google爬虫如何抓取JavaScript的?
  3. 简单的视频压缩大小技巧来了,小白也能轻松上手
  4. 企业上云,打造数字经济新动能|中机智库
  5. KVM虚拟机绑定物理CPU进行性能调优
  6. java转大数据的学习路线
  7. 微型计算机可以配置,目前主流微型计算机的配置及选购的调查报告
  8. Linux系统命令查看edid,Linux下得到显示屏参数的方法
  9. 你真正做到敏捷了吗?
  10. simplexmlelement object php,php – 访问SimpleXMLElement对象的某些属性