Python 处理图片像素点的实例


Posted in Python onJanuary 08, 2019

###在做爬虫的时候有时需要识别验证码,但是验证码一般都有干扰物,这时需要对验证码进行预处理,效果如下:

Python 处理图片像素点的实例

from PIL import Image
import itertools
img = Image.open('C:/img.jpg').convert('L') #打开图片,convert图像类型有L,RGBA

# 转化为黑白图
def blackWrite(img):
 blackXY = []

 # 遍历像素点
 for x in range(img.size[0]):
  for y in range(img.size[1]):
   print img.getpixel((x,y))
   if img.getpixel((x,y))<128:
    img.putpixel((x,y),0) # 置为黑点
    blackXY.append((x,y))
   else:
    img.putpixel((x,y),255) # 置为白点
 return blackXY


# 去除干扰点
def clrImg(img,pointArr):
 # 获取周围黑点的个数
 def getN(p):
  count = 0
  x = [p[0]-1,p[0],p[0]+1]
  y = [p[1]-1,p[1],p[1]+1]
  for i in itertools.product(x,y): # 笛卡尔积
   try:
    if img.getpixel(i) == 0:
     count +=1
   except:
    print 'out of'
    continue
  print count
  return count

 for p in pointArr:
  if getN(p)<5: # 周围黑点个数 <5 的黑点认为是干扰点,置为白点
   img.putpixel(p,255)
   
pointArr = blackWrite(img)
clrImg(img,pointArr)
img.save("C:/img_1.jpg")

以上这篇Python 处理图片像素点的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
分享6个隐藏的python功能
Dec 07 Python
python实现随机梯度下降(SGD)
Mar 24 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
Python WEB应用部署的实现方法
Jan 02 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Python获取字典中某个key的value
Apr 13 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 #Python
对Python闭包与延迟绑定的方法详解
Jan 07 #Python
python将控制台输出保存至文件的方法
Jan 07 #Python
对Python捕获控制台输出流的方法详解
Jan 07 #Python
python print输出延时,让其立刻输出的方法
Jan 07 #Python
Python3 单行多行万能正则匹配方法
Jan 07 #Python
Python字符串的全排列算法实例详解
Jan 07 #Python
You might like
简单易用的计数器(数据库)
2006/10/09 PHP
php短信接口代码
2016/05/13 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
浅析Python中signal包的使用
2015/11/13 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
python中的随机函数random的用法示例
2018/01/27 Python
使用python实现BLAST
2018/02/12 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
python读取文件名称生成list的方法
2018/04/27 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
卫生巾广告词
2014/03/18 职场文书
本科毕业生求职信
2014/06/15 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
高中生物教学反思
2016/02/20 职场文书
利用Java连接Hadoop进行编程
2022/06/28 Java/Android