python如何读取二进制文件为图片_python读取图片,并获取每个像素点的二进制值...
python进行图片处理或识别的时候,通常第一步是获取每个像素的二进制值。(python 版本号为3.5)
具体过程如下:
1、如果没有安装image包,则首先需要安装image包。命令:pip3 install image
2、将图片转为二进制图片。
3、获取二进制图片中每个像素点的像素值。
4、将以为数组转化为原像素大小的二维数组。
参考:http://blog.csdn.net/vange/article/details/5395771
LUT: (Look-Up Table)实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换如阈值、反转、二值化、对比度调整、线性变换等,变成了另外一个与之对应的灰度值,这样可以起到突出图像的有用信息,增强图像的光对比度的作用。
示例代码:
import Image
import numpy
img = Image.open("test.jpg")
w,h = img.size ##显示像素大小 宽和高
### 注意,此处不能直接转化为黑白,即convert("1"),因为那样会丢失掉一些中间的颜色。如果待处理的字体或图像颜色只包含黑色或白色,而背景颜色为彩色的时候,可以直接转化成黑白颜色。
grayImg =img .convert(''L'') ##转换成灰色照片
#grayImg.save(''grayImg.jpg'') ##保存灰色照片
###通过设置阀值,生成一个查找表(lut)
threshold = 80
lut= []
for i in range( 256 ): ## 范围:0-255
if i < threshold:
lut.append(0)
else :
lut.append( 1 )
binaryImg = grayImg.convert(lut, "1") ## 根据查找表,将灰色照片转换为二进制照片
binaryImg.save("binary.jpg")
### 获取每个像素点的像素值
pixels = [ (x,y) for x in range(w) for y in range(h) ] ##获取每一个像素点的坐标
pixelVal = [] ##每个像素点对应的值
for point in pixels:
value = binaryImg.getpixel(point)
pixelVal.append(value)
### 将以为数组转化为二维数组,便于分析
biArray = numpy.array(pixelVal).reshape(300,-1) ### 300行,-1表示列数自动判断
通过以上操作,成功的将一个图片中每个像素点对应的值,提取了出来。接下来,就可以对图片进行进一步处理了。
在下一篇文章中,我将分享如何通过svm算法,自动识别图片中的字符或者数字。
python如何读取二进制文件为图片_python读取图片,并获取每个像素点的二进制值...相关推荐
- python从txt读取数据并画图_Python读取txt某几列绘图的方法
晚上帮同学用Python脚本绘图,大概需求是读取一个txt文件的两列分别作为x和y的值,绘图即可,代码如下: #coding:utf-8 import numpy as np import matpl ...
- 如何用python处理excel中时间重合_python读取Excel文件中的时间,并计算时间间隔...
以此Excel文件为例: 1.python读取Excel文件中的时间 import xlrd #读取Excel文件 workbook = xlrd.open_workbook('C:/Users/12 ...
- python读取超大csv文件_python – 读取一个巨大的.csv文件
我目前正试图从Python 2.7中的.csv文件读取数据,最多1百万行和200列(文件范围从100mb到1.6gb).我可以这样做(非常慢)对于300,000行以下的文件,但一旦我走上,我得到内存错 ...
- python读取配置文件失败原因_python读取配置文件报keyerror-文件路径不正确导致的错误...
- 在其他模块使用反射读取配置文件报错,但是在反射模块中读取GetData.check_list又是正确的 反射模块如下: # get_data.py from API_AUTO.p2p_projec ...
- python开发图片_python实现图片上添加图片
在介绍完给图上添加文字后,我们再介绍给图片上添加图片,也就是图片的叠加. 需要使用的Python的图像库:PIL.更加详细的知识点如下: Imaga模块:用来创建,打开,保存图片文件 new(path ...
- python图片二进制流转换成图片_python将图片二进制数据转换成Django file对象
来自django.core.file的二进制数据,来自于来自django.core.file的二进制数据,来自于前端摄像头uwsgi套接字的djanyUploadedFilefrom io IMPOR ...
- python获取控件内容_python通过win32api轻松获取控件的属性值
1.如何利用句柄操作windows窗体 首先,获得窗体的句柄 win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd) ...
- python 计算召回率的程序_python实现计算精度、召回率和F1值
python实现计算精度.召回率和F1值 摘要:在深度学习的分类任务中,对模型的评估或测试时需要计算其在验证集或测试集上的预测精度(prediction/accuracy).召回率(recall)和F ...
- python requests下载图片_python读取图片大小Python Requests模块快速入门
requests是python的一个HTTP客户端库,跟urllib,urllib2类似.它比 urllib 更加方便,可以节约我们大量的工作,它比 urllib 更加 Pythoner. 安装 Re ...
最新文章
- CPU三级缓存技术解析
- python 文件获取绝对路径
- VS2008,vs2010 快捷键大全
- 中国楼宇自控系统发展规划现状及未来前景预测报告2022-2028年版
- jQuery Validate验证方法及教程
- 手动将jar添加到maven仓库中
- Bootstrap全局css样式_图片,响应式工具
- Python之IO模式 阻塞式io 非阻塞io 多路复用io 异步io 信号驱动io
- 使用Java 8和Lambda简化ReadWriteLock
- oracle ora 00283,【案例】Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程
- 财务自由,一年赚500万,依然做社畜是什么感觉?
- 不同分辨率图片匹配_超实用的图像超分辨率重建方法及应用介绍
- 【转】Python自动化测试 (一) Eclipse+Pydev 搭建开发环境
- delphi 获取webbrowser文本框id内数值_分布式 ID 生成策略
- paip.c语言gtk开发环境CodeBlocks /QT建立最佳实践
- dsp正弦波信号发生器c语言编程实例,应用DSP技术的正弦波发生器方案之程序设计...
- 【后缀数组+???】BZOJ3654 图样图森破
- Android超声波识别技术,超声波指纹识别or光学指纹识别?屏下指纹识别技术大比拼-传感技术-与非网...
- 即将奔三的90后,你们有多少存款
- java自行车(java自行车)
热门文章
- 6.3.4 新的_Bool类型
- 【刷题】BZOJ 1023 [SHOI2008]cactus仙人掌图
- DataGridView使用技巧一:获取或设置当前单元格的内容
- JAVA编程中的类和对象
- AndroidStudio_使用gradle添加依赖jar包_依赖模块---Android原生开发工作笔记78
- AndroidStudio_Android中使用非阻塞延迟的方法_利用Handler实现---Android原生开发工作笔记218
- Netty工作笔记0074---handler链调用机制实例1
- SpringCloud工作笔记036---oauth2微服务Establishing SSL connection without server's identity verification
- Android学习笔记---android平台中利用,SAX解析xml
- java整理软件---java模拟键盘,鼠标操作