pytorch_13-图像处理之skimage
之前程序使用的是PIL(Python image library),今天遇到了另一种图像处理包--skimage。
skimage即scikit-image,PIL和Pillow只提供最基础的数字图像处理,功能有限,OpenCV是一个c++库,只是提供了Python接口,更新速度非常慢,scikit-image是基于scipy的一款图像处理包,将图片作为numpy数组进行处理,正好与MATLAB一样。
子模块名称 主要实现功能
- io 读取、保存和显示图片或视频
- data 提供一些测试图片和样本数据
- color 颜色空间变换
- filters 图像增强、边缘检测、排序滤波器、自动阈值等
- draw 操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
- transform 几何变换或其它变换,如旋转、拉伸和拉东变换等
- morphology 形态学操作,如开闭运算、骨架提取等
- exposure 图片强度调整,如亮度调整、直方图均衡等
- feature 特征检测与提取等
- measure 图像属性的测量,如相似性或等高线等
- segmentation 图像分割
- restoration 图像恢复
- util 通用函数
安装:pip install scikit-image
from skimage import io as img
import torch
def process_image():
"""
利用skimage处理数据
:return:
"""
x = img.imread('%s/%s'%(opt.input_dir,opt.input_name)) #类型为numpy
if opt.nc_im == 3: # 如果是3通道
x = x[:, :, :, None]
x = x.transpose((3, 2, 0, 1)) / 255 # (图片个数,channel,height,width)
else:
x = color.rgb2gray(x)
x = x[:, :, None, None]
x = x.transpose(3, 2, 0, 1)
x= torch.from_numpy(x)
x = x.type(torch.cuda.FloatTensor) if not opt.not_cuda else x.type(torch.FloatTensor)
out = (x-0.5)*2
out = out.clamp(-1,1)
return out
pytorch_13-图像处理之skimage的更多相关文章
- 从锅炉工到AI专家(4)
手写数字识别问题 图像识别是深度学习众多主流应用之一,手写数字识别则是图像识别范畴简化版的入门学习经典案例.在TensorFlow的官方文档中,把手写数字识别"MNIST"案例称为 ...
- moviepy音视频剪辑:视频变换处理与内容相关的变换函数headblur、mask_and/or、mirror_x/y、rotate、painting、scroll介绍
一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<moviepy音视频剪辑:视频剪辑基类VideoC ...
- 『Python』skimage图像处理_旋转图像
一段简短的实现图像旋转的代码,使用了skimage库,据说和PIL相比,skimage对numpy等科学计算库的支持更好,这里是为了完成师兄给的帮他修改程序的任务,如果以后有需求的话可能会对pytho ...
- python skimage图像处理(一)
python skimage图像处理(一) This blog is from: https://www.jianshu.com/p/f2e88197e81d 基于python脚本语言开发的数字图片处 ...
- python skimage图像处理(二)
python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279 图像简单滤波 对图像进行滤波,可以有两 ...
- python skimage图像处理(三)
python skimage图像处理(三) This blog is from: https://www.jianshu.com/p/7693222523c0 霍夫线变换 在图片处理中,霍夫变换主要 ...
- python数字图像处理(17):边缘与轮廓
在前面的python数字图像处理(10):图像简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测. 本篇我们讲解一些其它方法来检测轮廓. 1.查找轮廓(find_c ...
- python数字图像处理(1):环境安装与配置
一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...
- SkiaSharp图像处理
SkiaSharp图像处理 .NET Core使用skiasharp文字头像生成方案(基于docker发布) 一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET ...
随机推荐
- 关于soapui接口的笔记
1.接口包含内容 #request: HTTP版本/请求地址url 请求方法:GET.POST.PUT.DELETE等 请求头:content—type 请求正文:请求参数 #response: 状态 ...
- HTML连载54-网易注册界面实战之信息填写
一.完成了内容中的右边的一部分.练习了三点:小盒子在大盒子中的位置,最好用大盒子的内边距完成布局,而不是用小盒子的外边距来进行布局:复习了ul,li的用法. <!DOCTYPE html> ...
- VS出现未加载wntdll.pdb的解决办法
无缘无故出现了未加载wntdll.pdb的的错误,不知道原因是什么,但找到了解决方法.在调试中选择选项,然后选择调试->符号,勾选Microsoft符号服务器,确定.重新生成项目时会有各种加载, ...
- Docker for Java Developers
1. 基本概念 1.1. 主要组件 Docker有三个主要组件: 镜像是Docker的构建组件,而且是定义应用程序操作系统的只读模板 容器是Docker的运行组件,它是从镜像创建的.容器可以运行. ...
- 一起学SpringMVC之注解
概述 SpringMVC不仅提供了Xml的配置方式,还提供了注解的方式来声明一个Controller,本文属于SpringMVC的入门级内容,仅供学习分享使用,如有不足之处,还请指正. SpringM ...
- centos7.2安装及管理docker
使用的操作系统是是centos7.2,按照官方的推荐的配置,把linux内核升级到3.8以上.安装步骤如下: 1.升级内核版本(包含aufs)cd /etc/yum.repos.dwget http: ...
- (转)颜色直方图, HSV直方图, histogram bins
原文链接:https://www.xuebuyuan.com/3256564.html 一个histogram,通常可以用一个列向量表示(例子中的a,b),列向量里面的每一个值就是一个bin(a,b) ...
- PHP制作的掷色子点数抽奖游戏实例
PHP制作的掷色子点数抽奖游戏实例,通过掷色子点数来达到抽奖的效果,为抽奖活动增添一些趣味性. 我们将在html页面中写下如下的html结构代码,.wrap用来放置色子和提示信息,#prize则是用来 ...
- 漏洞扫描与分析-Nessus-8.7.2最新版-安装-部署-使用
漏洞扫描与分析-Nessus 2019/10/10 Chenxin 简介 官网 https://zh-cn.tenable.com/ 产品 https://zh-cn.tenable.com/prod ...
- Linux下使用 github+hexo 搭建个人博客03-hexo配置优化
上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...