python像素处理_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 处理图片像素点的实例

本文地址: http://www.cppcns.com/jiaoben/python/249265.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql更改表名大小写不敏感

编辑配置文件 vi /etc/my.cnf 在[mysqld]后添加添加 lower_case_table_names1 重启服务 service mysqld stop service mysqld start 部署会遇到的问题&#xff1a; MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的&#xff1a;   1、数据库名与表名是严格区分大…

遇到“我觉得行才算行”的业主怎么办?

目录 案例 分析 案例 项目初期UI设计需求不确定,我们设计了几稿,业主还是不满意,没有确定最终稿。后来呢,业主安排了一位内部的美工A过来。美工A给出了很多修改意见,我们根据美工A的意见进行了修改,又反反复复改了好几版,最后业主不算满意地确定了。 后来项目要收尾…

python读取多个文件夹下所有txt_Python实现合并同一个文件夹下所有txt文件的方法示例...

本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、需求分析合并一个文件夹下所有txt文件二、合并效果三、python实现代码# -*- coding:utf-8*-import sysreload(sys)sys.setdefaultencoding(utf-8)impo…

项目是临时的,那项目组成员也是临时的吗?

在PMBOK定义项目属性&#xff0c;“临时性”是项目的三大属性之一。 在“结束项目或阶段”过程里的活动&#xff0c;重新分配人员&#xff1a;释放团队资源&#xff0c;在一些合同里面&#xff0c;项目结束后&#xff0c;需要给客户提供培训和一段时间的维护保修&#xff0c;那…

ceph安装配置

简介 ceph是一个开源分布式存储系统&#xff0c;支持PB级别的存储&#xff0c;支持对 象存储&#xff0c;块存储和文件存储&#xff0c;高性能&#xff0c;高可用&#xff0c;可扩展。 部署网络建议架构图 部署 部署架构图&#xff0c;本次实验部署jewel版本 实验环境的Vagrant…

推荐好用的JavaScript模块

2019独角兽企业重金招聘Python工程师标准>>> 译者按&#xff1a; 作者将自己常用的JavaScript模块分享给大家。 原文&#xff1a;? JavaScript Modules Worth Using ?译者: Fundebug为了保证可读性&#xff0c;本文采用意译而非直译。另外&#xff0c;本文版权归原…

python直接连接oracle_python连接oracle

一&#xff1a;弄清版本&#xff0c;最重要&#xff01;&#xff01;&#xff01;首先安装配置时&#xff0c;必须把握一个点&#xff0c;就是版本一致&#xff01;包括&#xff1a;系统版本&#xff0c;python版本&#xff0c;oracle客户端的版本&#xff0c;cx_Oracle的版本&…

项目计划不要拖,要赶紧排

目录 案例 复盘 应对 总结 案例 业主:这个项目很急,赶紧干活吧,明天就安排人来干活。 于是,项目经理问公司要来资源,第二天就投入到项目里。 公司只有一个项目,这样搞,项目能顺利实施,业主满意,公司老板感觉这种方法不错哦。 当公司项目越来越多了,员工也越来…

select函数_SQL高级功能:窗口函数

一、窗口函数有什么用&#xff1f;在日常生活中&#xff0c;经常会遇到需要在每组内排名&#xff0c;比如下面的业务需求&#xff1a;排名问题&#xff1a;每个部门按业绩来排名topN问题&#xff1a;找出每个部门排名前N的员工进行奖励面对这类需求&#xff0c;就需要使用sql的…

客户端C++与前端js交互

客户端与前端交互 qwebchannel.js文件引入建立通信// c发送消息给js new QWebChannel(qt.webChannelTransport, function(channel){var content channel.objects.jsContext;// 建立通信后&#xff0c;客户端通过调用 sMsg 方法来执行后面的回调函数&#xff0c;从而实现c与j…

python动态映射_sqlalchemy动态映射

似乎您可以直接使用属性&#xff0c;而不是使用columnsdict。考虑以下设置&#xff1a;from sqlalchemy import Table, Column, Integer, Unicode, MetaData, create_enginefrom sqlalchemy.orm import mapper, create_sessionclass Word(object):passwordColumns [english, k…

linux外接显示屏,关掉本身的笔记本电脑

https://blog.csdn.net/a2020883119/article/details/79561035 先用xrandr命令查看&#xff1a; eDP-1 connected eDP-1是连接着的 关掉&#xff1a;sudo xrandr --output eDP-1 --off 打开&#xff1a;sudo xrandr --output eDP-1 --auto

发挥项目“临时性”威力,让项目顺利实施

所谓临时性,就是要有明确的“开始”和“结束”。虽然大家都知道项目一定会有开始和结束的,但要更多地关注“明确“。 问题1:问商务(售前)或业主,这个项目什么时候结束? 答:商务或业主他们有时候也不知道,因为国内的项目大多数是提前开始交付,是一边交付,一边把里程…

上拉加载更多后台数据_6-7【微信小程序全栈开发课程】记录页面(七)--分页加载记录数据...

现在是一次性加载所有的记录数据&#xff0c;数据多的时候&#xff0c;会加载比较慢&#xff0c;所以我们改成分页加载&#xff0c;一次最多加载15条数据每次拉倒底部都会自动加载下一页的数据&#xff0c;知道所有的数据加载完成1、添加data变量编辑record.vue文件&#xff0c…

spring cloud eureka服务注册和调用

SPRING INITIALIZR构建工程 spring boot 可通过SPRING INITIALIZR构建项目访问SPRING INITIALIZR官网&#xff0c;填写项目相关信息后&#xff0c;生成项目。将下载的项目解压&#xff0c;打开idea&#xff0c;file-->new-->project from existing sources。import proje…

去从事有门槛有积累的工作

现在社会的IT工作&#xff0c;一时风光无限&#xff0c;但是积累性不足。跟老外比较起来&#xff0c;国内的IT算是民工级别的。再加上&#xff0c;前些年的培训机构&#xff0c;不断的输出水平很次但很能加班的「人才」进入这个行业&#xff0c;「劣币驱逐良币」的效果下&#…

打印工资条怎么做到每个人都有表头明细_朋友说:能不能用python,帮我写一个“制作工资条”的自动化程序?...

本文说明今天和一个朋友吃饭&#xff0c;她说我经常使用Excel制作工资条&#xff0c;但是每个月都要做一遍&#xff0c;你能不能用python写一个代码&#xff0c;能够自动化完成这个工作。这当然可以啦&#xff0c;就是这么牛逼&#xff01;我们先来看看原始数据是什么样子的。那…

自定义按钮 图片标题位置随意放置

自定义按钮UIControl 写在前面 #图标和文字在一起是开发难免的问题&#xff0c;系统的按钮默认是图片居左的文字居右的&#xff0c; 且图片和文字的距离不好调整&#xff0c;图片的位置更是让人头疼&#xff0c; 故在闲暇之余封装了一个控件。 复制代码所用到知识的 # 1、苹果系…

做优化的数据库工程师请参考!CynosDB的计算层设计优化揭秘

本文由云社区发表本文作者&#xff1a;孙旭&#xff0c;腾讯数据库开发工程师&#xff0c;9年数据库内核开发经验&#xff1b;熟悉数据库查询处理&#xff0c;并发控制&#xff0c;日志以及存储系统&#xff1b;熟悉PostgreSQL&#xff08;Greenplum&#xff0c;PGXC等&#xf…

netty发送数据_看完这篇还不清楚Netty的内存管理,那我就哭了

说明在学习Netty的时候&#xff0c;ByteBuf随处可见&#xff0c;但是如何高效分配ByteBuf还是很复杂的&#xff0c;Netty的池化内存分配这块还是比较难的&#xff0c;很多人学习过&#xff0c;看过但是还是云里雾里的&#xff0c;本篇文章就是主要来讲解&#xff1a;Netty分配池…