浅谈python图片处理Image和skimage的区别


Posted in Python onAugust 04, 2019

做cnn的难免要做大量的图片处理。由于接手项目时间不长,且是新项目,前段时间写代码都很赶,现在稍微总结(恩,总结是个好习惯)。

1,首先安装python-Image和python-skimage、python-matplotlib。

  简单代码:

import Image as img
import os
from matplotlib import pyplot as plot
from skimage import io,transform
import argparse
 
def show_data(data):
  fig = plot.figure()
  ax = fig.add_subplot(121)
  ax.imshow(data, cmap='gray')
  ax2 = fig.add_subplot(122)
  ax2.imshow(data)
  plot.show()
if __name__ == "__main__":
  parse = argparse.ArgumentParser()
  parse.add_argument('--picpath', help = "the picture' path")
  args = parse.parse_args()
  img_file1 = img.open(args.picpath)#Image读图片
  one_pixel = img_file1.getpixel((0,0))[0]
  print "picture's first pixe: ",one_pixel 
  print "the picture's size: ", img_file1.size#Image读出来的size是高宽
  show_data(img_file1)
  img_file2 = io.imread(args.picpath)#skimage读图片
  show_data(img_file2)
  print "picture's first pixel: ", img_file2[0][0][0]
  print "the picture's shape: ", img_file2.shape#skimage读出来的shape是高,宽, 通道

调用及输出:

浅谈python图片处理Image和skimage的区别

其实Image读出来的是PIL什么的类型,而skimage.io读出来的数据是numpy格式的。如果想直接看Image和skimage读出来图片的区别,可以直接输出它们读图片以后的返回结果。

2.Image和skimage读图片:

img_file1 = img.open(args.picpath)
img_file2 = io.imread(args.picpath)

3.读图片后数据的大小:

print "the picture's size: ", img_file1.size
print "the picture's shape: ", img_file2.shape

4.得到像素:

one_pixel = img_file1.getpixel((0,0))[0]
img_file2[0][0][0]

分析:

1.从3的输出可以看出img读图片的大小是图片的(height,width);

skimage的是(height,width, channel)[这也是为什么caffe在单独测试时要要在代码中设置:transformer.set_transpose('data',(2,0,1)),因为caffe可以处理的图片的数据格式是(channel,height,width),所以要转换数据啊]

2.img读出来的图片获得某点像素用getpixel((h,w))可以直接返回这个点三个通道的像素值

skimage读出来的图片可以直接img_file2[0][0][0]获得,但是一定记住它的格式,并不是你想的(channel,height,width)

关于matplotlib简单的画图请关注下篇~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
使用python加密自己的密码
Aug 04 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
Python单链表简单实现代码
Apr 27 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
儿童学习python的一些小技巧
May 27 Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 Python
virtualenv介绍及简明教程
Jun 23 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
Python使用UDP实现720p视频传输的操作
Apr 24 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 Python
Python下opencv图像阈值处理的使用笔记
Aug 04 #Python
python opencv 简单阈值算法的实现
Aug 04 #Python
Python pandas用法最全整理
Aug 04 #Python
python匿名函数用法实例分析
Aug 03 #Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 #Python
Python适配器模式代码实现解析
Aug 02 #Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 #Python
You might like
php 注释规范
2012/03/29 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
PHP插入排序实现代码
2013/04/04 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
jQuery操作input值的各种方法总结
2013/11/21 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
js实现图片360度旋转
2017/01/22 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
python使用requests.session模拟登录
2019/08/09 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
光电信息专业应届生求职信
2013/10/07 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
2015年老干部工作总结
2015/04/23 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python