1. 问题描述

    opencv库能够读取4通道的tif图像,但是对于高通道tif图像,超过4个通道,opencv就会报错,所以使用skimage库来处理此类tif图像

  2. 读取图像并裁剪

    from skimage import transform,iopixSize = 10    # 切割图像的大小(长宽),切割图像是正边形
    filePath = './img/dim10.tif'
    DataSavePath = './train/positive/'# 图片加载
    im = io.imread(filePath)sp = im.shape
    height = int(sp[0]/pixSize)        # 竖着裁剪图片数
    width = int(sp[1]/pixSize)     # 横着裁剪图片数iter = 1for i in range(height):            # 高,纵向for j in range(width):         # 宽,横向print("processing img No "+str(iter)+" image")ig = im[i*pixSize:(i+1)*pixSize, j*pixSize:(j+1)*pixSize]    # 滑动窗口io.imsave(DataSavePath + str(iter) + '.tif',ig) # 滑动窗口到的地方保存图片iter += 1
    
  3. 将高通道tif图像显示出来,例如10通道tif图

    原理:将其转为RGB图像再用opencv显示

    from skimage import transform,io
    import numpy as np
    import cv2im = io.imread('./train/negative/30.tif')
    sp = im.shapeim_band = sp[2]      # 得到通道数img = np.array(im)  # 转为数组
    img = np.transpose(img,(2,0,1))    # 将通道数放在前面,然后是高和宽# 影像转换处理
    def img_processing(im_band,img_data):if im_band == 1: # 单通道图data_jpg = np.zeros((img_data.shape[0],img_data.shape[1]),dtype='uint8')im_max = np.amax(img_data)im_min = np.amin(img_data)for m in range(0, img_data.shape[0]):for n in range(0, img_data.shape[1]):data_jpg[m,n] = float(255./(im_max-im_min))*(img_data[m,n]-im_min)else:              # 多通道图data_jpg = np.zeros((img_data.shape[1], img_data.shape[2],3),dtype='uint8')for i in range(3):im_max = np.amax(img_data[i,:,:])im_min = np.amin(img_data[i,:,:])for m in range(0, img_data.shape[1]):for n in range(0, img_data.shape[2]):data_jpg[m,n,i] = float(255./(im_max-im_min))*(img_data[i,m,n]-im_min)return data_jpgdata_jpg = img_processing(im_band,img)
    # data_jpg = cv2.resize(data_jpg,(224,224))    # 修改图片大小,可注释掉
    cv2.imshow('image',data_jpg)
    cv2.waitKey()
    

python环境下skimage处理高通道tif图片(10通道)相关推荐

  1. python 文件夹中的文件批量处理 高通道tif图片转换成jpg格式

    在数据集的制作中,往往涉及到 文件夹中文件的批量处理操作,而首要的任务便是将获得的数据进行重命名以方便批量读取,随后再进行操作. 一.文件批量重命名 文件夹的批量处理操作关键在于用os库的os.lis ...

  2. python捷豹_图像处理基本工具——Python 环境下的 Pillow( PIL )

    由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境 ...

  3. 图像处理/计算机视觉/ python环境下如何用滤波器(/逆滤波/均值滤波/低通滤波/高通滤波)处理图片【附代码】

    计算机视觉滤波器实操 基础知识 一. 计算机视觉技术中常见的几种滤波器 二.滤波器相关知识 应用一:算术均值.几何均值.谐波逆谐波 一.问题分析 二.结果图 三.代码附录 应用二:维纳滤波,逆滤波 一 ...

  4. python环境下,XGBoost模型文件转pmml格式用于部署

    一. python环境下生成PMML 1. sklearn接口的xgboost 需要用sklearn2pmml包来生成pmml文件,一共有两种方法: 方法一: 在管道pipeline中进行fit后保存 ...

  5. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  6. opencv在python环境下的安装_关于python环境下的opencv安装

    吐槽: 这一天我终于记起了这个博客.今天搞python环境下的opencv,又弄了一天,很烦躁.之前配置VS的opencv也是花了好久的时间,然后突然发现之前记录在电脑上的文档都找不到了,于是决定还是 ...

  7. anaconda的python环境下无法使用通过pip安装的python库

    场景描述: 在那种anaconda之前,已经在centos中安装了python和pip,在安装anaconda和jupyter后,在anaconda(或jupyter的notebook)的python ...

  8. python环境下数据操作_数据分析环境搭建和Python基础知识

    搭建数据分析环境主要包括使用anaconda管理包和环境:使用Jupyter notebook将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.Python基础知识包括关键点(数据 ...

  9. Python环境下用中文做了个《王者荣耀》AI脚本,附视频

    <王者荣耀>AI最早的巅峰应该是在2018年 "AI(人工智能)"VS"人类明星战队",视频给你们留着了,先留着等会看. 梦泪被AI击杀6次,KPL ...

  10. python后端脚手架_flask-adminlte-scaffold是一个Python环境下的WEB后台管理系统脚手架...

    flask-adminlte-handler 简介 flask-adminlte-handler是一个Python环境下的WEB后台管理系统脚手架,目标是用极少量的代码,快速构建小型WEB应用.请勿在 ...

最新文章

  1. 数学图形(1.45)毛雷尔玫瑰(Maurer rose)
  2. Silverlight 4 Beta开发版带着许多新特性发布
  3. Delphi开发的服务在Windows2003 64位注册方式。
  4. C#中创建圆形/按钮(使用重绘)
  5. 怎样从frm ibd恢复mysql_怎样从frm,ibd恢复MYSQL
  6. 创建SQL Server索引的好工具
  7. redhat配置caffe多核训练
  8. 使用AdventNet快速开发网管软件Agent端
  9. 记录一下安装eclipse中的windows-builder组件时的一些问题
  10. 计算机上网记录怎么清除,电脑浏览器上网记录怎么删除
  11. 小demo,点石成金
  12. 嵌入式编程规范与原则
  13. 研究生数学建模竞赛-无人机在抢险救灾中的优化应用
  14. Android9.0检测摄像头是否存在源码完整案例
  15. Adobe xd的实时预览插件在哪里?
  16. 图形在计算机中用什么格式表示什么,使用什么软件打开dat文件,图形文字说明如何在计算机中查看DAT类型文件...
  17. Ae 入门系列之三:合成与图层
  18. vissim交通仿真实验(2)--十字信号交叉口
  19. 回复其他小组对我们的评价
  20. Redis 主从复制、哨兵模式、集群

热门文章

  1. 如何将腾讯视频客户端下载的QLV视频格式转换成MP4格式
  2. lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
  3. 家庭wifi部署建议
  4. vue优化技巧之Object.freeze()
  5. 【C++】(八)函数
  6. 游戏角色命名与游戏风格
  7. 百旺如何看是否清卡_​百旺如何看是否清卡
  8. 金蝶云星空API调用实践
  9. 【托业】【新托业TOEIC新题型真题】学习笔记4-题库一-P7
  10. 1. 无穷维空间的测度论-Wiener测度(二)