怎样使用Python图像处理Python图像处理是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构 , 能够简单而有效地实现面向对象编程 , 下文进行对Python图像处理进行说明 。
当然,首先要感谢“恋花蝶”,是他的文章“用Python图像处理 ” 帮我坚定了用Python和PIL解决问题的想法,对于PIL的一些介绍和基本操作,可以看看这篇文章 。我这里主要是介绍点我在使用过程中的经验 。
PIL可以对图像的颜色进行转换,并支持诸如24位彩色、8位灰度图和二值图等模式,简单的转换可以通过Image.convert(mode)函数完 成 , 其中mode表示输出的颜色模式 。例如''L''表示灰度,''1''表示二值图模式等 。
但是利用convert函数将灰度图转换为二值图时,是采用固定的阈 值127来实现的,即灰度高于127的像素值为1 , 而灰度低于127的像素值为0 。为了能够通过自定义的阈值实现灰度图到二值图的转换,就要用到 Image.point函数 。
深度剖析Python语法功能
深度说明Python应用程序特点
对Python数据库进行学习研究
Python开发人员对Python经验之谈
对Python动态类型语言解析
Image.point函数有多种形式,这里只讨论Image.point(table, mode),利用该函数可以通过查表的方式实现像素颜色的模式转换 。其中table为颜色转换过程中的映射表,每个颜色通道应当有256个元素,而 mode表示所输出的颜色模式,同样的,''L''表示灰度,''1''表示二值图模式 。
可见,转换过程的关键在于设计映射表,如果只是需要一个简单的箝位值,可以将table中高于或低于箝位值的元素分别设为1与0 。当然,由于这里的table并没有什么特殊要求,所以可以通过对元素的特殊设定实现(0, 255)范围内,任意需要的一对一映射关系 。
示例代码如下:
import Image# load a color imageim = Image.open(''fun.jpg'')# convert to grey level imageLim = im.convert(''L'')Lim.save(''fun_Level.jpg'')# setup a converting table with constant thresholdthreshold = 80 table = []for i in range(256):if ithreshold:table.append(0)else:table.append(1)# convert to binary image by the tablebim = Lim.point(table, ''1'')bim.save(''fun_binary.jpg'')
IT部分通常要完成的任务相当繁重但支撑这些工作的资源却很少 , 这已经成为公开的秘密 。任何承诺提高编码效率、降低软件总成本的IT解决方案都应该进行 周到的考虑 。Python图像处理所具有的一个显著优势就是可以在企业的软件创建和维护阶段节约大量资金 , 而这两个阶段的软件成本占到了软件整个生命周期中总成本 的50%到95% 。
Python清晰可读的语法使得软件代码具有异乎寻常的易读性,甚至对那些不是最初接触和开发原始项目的程序员都 能具有这样的强烈感觉 。虽然某些程序员反对在Python代码中大量使用空格 。
不过,几乎人人都承认Python图像处理的可读性远胜于C或者Java,后两 者都采用了专门的字符标记代码块结构、循环、函数以及其他编程结构的开始和结束 。提倡Python的人还宣称,采用这些字符可能会产生显著的编程风格差 异 , 使得那些负责维护代码的人遭遇代码可读性方面的困难 。转载
怎么在python中使用cv2.cvtcolor注意,现在OpenCV for Python就是通过NumPy进行绑定的 。所以在使用时必须掌握一些NumPy的相关知识!
图像就是一个矩阵,在OpenCV for Python中 , 图像就是NumPy中的数组!
如果读取图像首先要导入OpenCV包,方法为:
import cv2
emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#emptyImage3[...]=0
python的pillow库怎么处理灰度图像Pillow是Python里的图像处理库(PIL:Python Image Library),提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等 。
推荐阅读
- jquery页面左右分割,jquery在前端分页
- java成绩等级代码,java编写成绩等级
- python爬虫阿里翻译,阿里ai翻译
- asp.net4.5是什么,aspnet20
- go语言实现京东爬虫 go 语言 爬虫
- java可以做恶搞代码吗,如何用java编写代码
- linux命令参数顺序,linux命令参数怎么快速记忆
- 钉钉会议直播高清,钉钉视频会议高清
- 计算器go语言 go语言简易计算器