图像的读取,显示与保存(基于skimage模块)
一 skiamge模块
skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块列表如下:
| 子模块名称 | 主要实现功能 |
| io | 读取、保存和显示图片或视频 |
| data | 提供一些测试图片和样本数据 |
| color | 颜色空间变换 |
| filters | 图像增强、边缘检测、排序滤波器、自动阈值等 |
| draw | 操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等 |
| transform | 几何变换或其它变换,如旋转、拉伸和拉东变换等 |
| morphology | 形态学操作,如开闭运算、骨架提取等 |
| exposure | 图片强度调整,如亮度调整、直方图均衡等 |
| feature | 特征检测与提取等 |
| measure | 图像属性的测量,如相似性或等高线等 |
| segmentation | 图像分割 |
| restoration | 图像恢复 |
| util | 通用函数 |
用到一些图片处理的操作函数时,需要导入对应的子模块,如果需要导入多个子模块,则用逗号隔开,如:
from skimage import io,data,color
二 从外部读取图片并显示
2.1 彩色图片
- 读取单张彩色RGB图片,使用skimage.io.imread(fname)函数,带一个参数,表示需要读取的文件路径。
- 显示图片使用skimage.io.imshow(arr)函数,带一个参数,表示需要显示的arr数组(读取的图片以numpy数组形式计算)。
from skimage import io
img=io.imread('d:\\杨幂.jpg')
io.imshow(img)
结果如下图所示:

2.1 灰度图片
- 读取使用skimage.io.imread(fname,as_grey=True)函数,第一个参数为图片路径,第二个参数为as_grey, bool型值,默认为False。
- 显示图片使用skimage.io.imshow(arr)函数,带一个参数,表示需要显示的arr数组(读取的图片以numpy数组形式计算)。
from skimage import io
img = io.imread("d:/杨幂灰度图.png",as_grey = True)
io.imshow(img)
结果如下所示:

三 程序自带图片读取与显示
skimage程序自带了一些示例图片,如果我们不想从外部读取图片,就可以直接使用这些示例图片:
|
astronaut |
宇航员图片 |
coffee |
一杯咖啡图片 |
lena |
lena美女图片 |
|
camera |
拿相机的人图片 |
coins |
硬币图片 |
moon |
月亮图片 |
|
checkerboard |
棋盘图片 |
horse |
马图片 |
page |
书页图片 |
|
chelsea |
小猫图片 |
hubble_deep_field |
星空图片 |
text |
文字图片 |
|
clock |
时钟图片 |
immunohistochemistry |
结肠图片 |
举例如下:
from skimage import io,data
img=data.astronaut()
io.imshow(img)
结果如下所示:

图片名对应的就是函数名,如camera图片对应的函数名为camera()。
四 保存图片
使用io模块的imsave(fname,arr)函数来实现。第一个参数表示保存的路径和名称,第二个参数表示需要保存的数组变量。
from skimage import io,data
img=data.chelsea()
io.imshow(img)
io.imsave('d:/cat.jpg',img)
结果如下所示:


五 图片的信息
如果我们想知道一些图片信息,可以通过Variable explorer读取:

当然我们也可以通过程序获得:
from skimage import io,data
img=data.chelsea()
io.imshow(img)
print(type(img)) #显示类型
print(img.shape) #显示尺寸
print(img.shape[0]) #图片宽度
print(img.shape[1]) #图片高度
print(img.shape[2]) #图片通道数
print(img.size) #显示总像素个数
print(img.max()) #最大像素值
print(img.min()) #最小像素值
print(img.mean()) #像素平均值
结果如下所示:
(300, 451, 3)
300
451
3
405900
231
0
115.305141661

参考:https://www.cnblogs.com/denny402/p/5121897.html
图像的读取,显示与保存(基于skimage模块)的更多相关文章
- OpenCV3编程入门笔记(1)图像载入、显示、保存、变换灰度图
图像载入.显示.保存函数: 1 图像载入函数:imread() Mat imread(const string& filename, int flags=1); const ...
- python读取,显示,保存mnist图片
python处理二进制 python的struct模块可以将整型(或者其它类型)转化为byte数组.看下面的代码. # coding: utf-8 from struct import * # 包装成 ...
- python数字图像处理(2):图像的读取、显示与保存
skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的.为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用. 引入skimage模块可用: from sk ...
- Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸.图像的读取.显示.保存与复制 原创 2017年11月23日 21:30:49 4440 在使用opencv的方法时,首先必须导入opencv包.新的opencv导 ...
- OpenCV中图像的读取,显示与保存
图像的读取,显示与保存 相关函数:cv2.imread().cv2.imshow().cv2.imwrite() 1.读入图像: 用cv2.imread()函数来读取图像,cv2.imread(路 ...
- matlab数字图像处理-冈萨雷斯-读取,显示,保存图像
图像读取:imread(filename) 显示图像‘ 显示多幅图像 保存图像 b 计算压缩比
- 利用python进行简单的图像处理:包括打开,显示以及保存图像
利用python进行简单的图像处理:包括打开,显示以及保存图像 利用PIL处理 PIL(python image library) 是python用于图片处理的package.但目前这个package ...
- openCV—Python(2)—— 载入、显示和保存图像
一.函数简单介绍 1.imread-读取图像 函数原型:imread(filename, flags=None) filename:读取的图像路径名:比如:"H:\img\lena.jpg& ...
- Python下opencv使用笔记(一)(图像简单读取、显示与储存)
写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...
随机推荐
- .net短信接口调用示例(106短信通道)
1. [代码]调用代理示例 using System;using System.Data;using System.Configuration;using System.Collections;usi ...
- window.showModalDialog()之返回值
window.showModalDialog的基本用法 showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.show ...
- g++能过,c++过不了
可能原因: 1.在递归的时候,递归函数中忘记加返回return.(详见Wrong Answer,Memory Limit Exceeded) 代码1:错误 g++--------accepted c+ ...
- web网页打印的方法
WebBrowser.ExecWB的完整说明 个人感觉的:致命缺点-----------------仅仅支持ie浏览器 document.all.WebBrowser.ExecWB WebBrowse ...
- the referenced script on this behaviour is missing!
1.看看你脚本上挂的某个组件是不是发生了变动,比如被删除了什么的 2.最有可能的是你创建完脚本后,中途改过脚本的名字,致使脚本名字和内部的名字不统一.
- Convolutional Neural Networks for Visual Recognition 5
Setting up the data and the model 前面我们介绍了一个神经元的模型,通过一个激励函数将高维的输入域权值的点积转化为一个单一的输出,而神经网络就是将神经元排列到每一层,形 ...
- 【leetcode刷题笔记】Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- Android repo 学习参考
/*************************************************************************** * Android repo 学习参考 * 说 ...
- ACM学习历程—BNUOJ3685 Building for UN(构造)
The United Nations has decided to build a new headquarters in Saint Petersburg, Russia. It will have ...
- 【Sublime Text 3】编译环境
1.默认编译时总会出现错误 报错: [Finished in 1.3s with exit code 1][cmd: ['gcc', 'V:\\Cynthia\\01.c']][dir: V:\Cyn ...