浅谈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 相关文章推荐
Python中字符编码简介、方法及使用建议
Jan 08 Python
Python中的两个内置模块介绍
Apr 05 Python
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
python批量修改文件编码格式的方法
May 31 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
Python代码太长换行的实现
Jul 05 Python
Django框架视图函数设计示例
Jul 29 Python
python中列表的含义及用法
May 26 Python
matplotlib对象拾取事件处理的实现
Jan 14 Python
pytorch实现ResNet结构的实例代码
May 17 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中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
Python中的zip函数使用示例
2015/01/29 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python多进程编程常用方法解析
2020/03/26 Python
python实现猜数游戏
2020/03/27 Python
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
教学评估实施方案
2014/03/16 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
家装业务员岗位职责
2015/04/03 职场文书
导游词之太原天龙山
2020/01/02 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python