skimage学习(一)
skimage即是Scikit-Image。基于python脚本语言开发的数字图片处理包
skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块列表如下:

data子模块学习
导入data模块
from skimage import color,io
加载data中的图片
chelsea = data.logo()
io.imshow(chelsea)
结果:
(此图来自data中的资源图片)
color子模块的操作
from skimage import color
logo1 = color.rgb2gray(logo) #将图片编程灰色
io.imshow(logo1)

filters操作
进行二值化操作
图像的二值化,就是将图像上的像素点的灰度值设置为0或255(即0和1),也就是将整个图像呈现出明显的只有黑和白的视觉效果。
现将图片编程灰白的图片
from skimage import filters
chelsea = data.chelsea() #加载图片
chelsea1 = color.rgb2gray(chelsea) #将加载的图片编程灰白的图片
io.imshow(chelsea) #展示图片
chelsea.shape # 观测图片尺寸
t1 = filters.threshold_otsu(chelsea1) #对灰色图片进行预直化操作
for i in range(300):
for j in range(451):
if chelsea1[i,j] <=t1: 判断像素点预直化操作后的值进行对比,
chelsea1[i,j]=0 将小于预直化操作的像素点变成0
else:
chelsea1[i,j]=1 将大于预直化操作的像素点变成1
io.imshow(chelsea1) 显示二值化操作后的图片

二值化操作的应用
进行验证码的识别

如上图可以看到上边验证码有噪点,这样不利于电脑识别,所以使用二值化操作对验证码去噪点
code = io.imread("./code.jpg") 加载图片,将图片编程灰白图片
code1 = color.rgb2gray(code)
io.imshow(code)
code1.shape 读出图片的大小为(211, 417)
进行二值化操作
c = filters.threshold_otsu(code1) #求出灰白图片的预值
c
for x in range(211):
for y in range(417):
if code1[x,y]<=c:
code1[x,y]=0
else:
code1[x,y]=1
io.imshow(code1)

如上图,进行二值化操作后只显示了三个数字,实际上是第四个数字颜色太浅了,被筛选走了
所以需要给验证码种颜色加深。直接对预值进行方法,让二值化是的筛选条件宽松
for x in range(211):
for y in range(417):
if code1[x,y]<=0.8:
code1[x,y]=0
else:
code1[x,y]=1
显示结果:

skimage学习(一)的更多相关文章
- Matlab 进阶学习记录
最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal = proposal_config('image_means', ...
- 用tensorlayer导入Slim模型迁移学习
上一篇博客[用tensorflow迁移学习猫狗分类]笔者讲到用tensorlayer的[VGG16模型]迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensor ...
- pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL
参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...
- 4.keras实现-->生成式深度学习之用变分自编码器VAE生成图像(mnist数据集和名人头像数据集)
变分自编码器(VAE,variatinal autoencoder) VS 生成式对抗网络(GAN,generative adversarial network) 两者不仅适用于图像,还可以 ...
- caffe 学习(1) —— Classification: Instant Recognition with Caffe
学习地址http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/00-classification.ipynb 1.安装m ...
- caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--01
引用了下文的资料,在此感谢! http://www.cnblogs.com/alexcai/p/5468164.html http://blog.csdn.net/garfielder007/arti ...
- tensorflow学习笔记——图像数据处理
喜欢摄影的盆友都知道图像的亮度,对比度等属性对图像的影响是非常大的,相同物体在不同亮度,对比度下差别非常大.然而在很多图像识别问题中,这些因素都不应该影响最后的结果.所以本文将学习如何对图像数据进行预 ...
- Note | PyTorch官方教程学习笔记
目录 1. 快速入门PYTORCH 1.1. 什么是PyTorch 1.1.1. 基础概念 1.1.2. 与NumPy之间的桥梁 1.2. Autograd: Automatic Differenti ...
- python dlib学习(五):比对人脸
前言在前面的博客中介绍了,如何使用dlib标定人脸(python dlib学习(一):人脸检测),提取68个特征点(python dlib学习(二):人脸特征点标定).这次要在这两个工作的基础之上,将 ...
随机推荐
- Table 自定义设置边框线
table上添加:border-collapse: collapse;//设置表格边框分开显示就可以设置tr td的边框线
- mac mysql 编码配置
mac mysql 编码配置 (mysql目录下没有my.cnf) 想要修改编码发现自己的/usr/local/mysql/support-files里面根本没有my.cnf 安装方式是去mysql官 ...
- XHR的跨域请求和JSONP详解
首先:什么是跨域? Cross Domain Request:从一个资源请求另一个资源,二者所在的请求地址不同,域名不同.端口号不同.请求协议不同. 它是由浏览器的同源策略造成的,是浏览器对JavaS ...
- php:获取一个表不含text类型的全部字段
select * from table 这个*用表具体的字段替换 $sql="show COLUMNS FROM table"; $rs=query($sql); while($r ...
- Identity Service
Identity Service - 解析微软微服务架构eShopOnContainers(二) 接上一篇,众所周知一个网站的用户登录是非常重要,一站式的登录(SSO)也成了大家讨论的热点.微软在 ...
- SpringBoot---核心---基本配置
1.[入口类和@SpringBootApplication注解] 2.[关闭特定的配置] 3.[定制Banner] 1.1 修改Banner 1.2 关闭Banner 4.SpringBoot配置文件
- 047 Permutations II 有重复数字的全排列
给定一个可能包含重复数字的集合,返回所有可能的不同全排列.例如,[1,1,2] 有以下不同全排列:[ [1,1,2], [1,2,1], [2,1,1]] 详见:https://leetcode ...
- 使用xadmin覆盖Django的admin
安装xadmin pip 安装 pip install xadmin 可能会报错 pip install git+git://github.com/sshwsfc/xadmin.git 安装后要使用 ...
- windows下使用MYSQL的mysqldumpslow进行慢日志分析
1.首先安装好perl环境. 2.在dos环境中,切换到perl目录中,例如我的目录是 dos 命令 cd c:\Perl\bin 3.在此目录输入perl mysqldumpslow的路径\mysq ...
- 搭建本地SVN資料
基于網上眾多教程,搭建SVN成功:VisualSVN Server + TortoiseSVN Client. 過程比較簡單,就不重複書寫了. 部份參考資料,感謝作者: 什麽是SVN及如何應用 htt ...