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 抓取动态网页内容方案详解
Dec 25 Python
详解Python中映射类型的内建函数和工厂函数
Aug 19 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
对python中的装包与解包实例详解
Aug 24 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python 发送邮件方法总结
Aug 10 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
Python中for后接else的语法使用
May 18 Python
解决Python字典查找报Keyerror的问题
May 26 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
详解Django中的form库的使用
2015/07/18 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
自考毕业自我鉴定范文
2013/10/27 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
还款承诺书范文
2014/05/20 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
介绍信模板
2015/01/31 职场文书
员工离职证明范本
2015/06/12 职场文书
MySQL添加索引特点及优化问题
2022/07/23 MySQL