之前程序使用的是PIL(Python image library),今天遇到了另一种图像处理包--skimage。

skimage即scikit-image,PIL和Pillow只提供最基础的数字图像处理,功能有限,OpenCV是一个c++库,只是提供了Python接口,更新速度非常慢,scikit-image是基于scipy的一款图像处理包,将图片作为numpy数组进行处理,正好与MATLAB一样。

子模块名称                 主要实现功能

  1. io                            读取、保存和显示图片或视频
  2. data                       提供一些测试图片和样本数据
  3. color                           颜色空间变换
  4. filters             图像增强、边缘检测、排序滤波器、自动阈值等
  5. draw               操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
  6. transform          几何变换或其它变换,如旋转、拉伸和拉东变换等
  7. morphology          形态学操作,如开闭运算、骨架提取等
  8. exposure              图片强度调整,如亮度调整、直方图均衡等
  9. feature                        特征检测与提取等
  10. measure                  图像属性的测量,如相似性或等高线等
  11. segmentation                          图像分割
  12. restoration                           图像恢复
  13. util                                  通用函数

安装:pip install scikit-image

官网:https://scikit-image.org/

 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

最新文章

  1. Windows Defender无法开启问题
  2. python第二天基础1-1
  3. 前端不为人知的一面--前端冷知识集锦 前端已经被玩儿坏了!像console.log()可以向控制台输出图片
  4. 安装配置Oracle数据库时的一些处理思路
  5. 《shell下sort排序命令的使用》
  6. 深入PHP EOF(heredoc)用法详解
  7. 【M19】了解临时对象的来源
  8. SecureCRT自动登陆到服务器的脚本以及脚本编写简单说明
  9. [已解决问题] An error occurred while automatically activating bundle com.android.ide.eclipse.adt
  10. Android菜鸟的成长笔记(7)——什么是Activity
  11. 【微信公众平台开发】百度周边搜索接口php封装
  12. .net EF 事物 订单流水号的生成 (二):观察者模式、事物、EF
  13. C++中的Traits技法
  14. 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明
  15. linux常用命令:cd 命令
  16. tomcat 9.0中,用cookie进行会话时出现的不合法字符问题
  17. Hadoop案例(十)WordCount
  18. 为什么空格拷贝到linux 会变成两个
  19. 机器学习笔记(五) K-近邻算法
  20. eclipse下JAVA的搭建

热门文章

  1. mysql5.7 找回密码
  2. mybatis基础 笔记
  3. (办公)记事本_Linux目录
  4. docx和doc的区别
  5. 函数防抖VS函数节流
  6. Java之ArrayList类(集合)
  7. python访问kafka
  8. Spring Cloud(一):入门篇
  9. C#函数的递归
  10. 轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null