import os
import cv2
import numpy as np
from osgeo import gdal
from skimage import iosource_dir = 'D:\desk\dm\Acky\BaseNet\data_set\FUSARship-t-v\\val\\tug'  # 源tiff图路径
target_dir = 'D:\desk\dm\Acky\BaseNet\data_set\FUSARship-1\\val\\tug'  # 保存到的jgp路径# 如果目标目录不存在的话,进行目录的新建
if not os.path.exists(target_dir):os.makedirs(target_dir)
files = os.listdir(source_dir)for image_file in files:name = []portion = os.path.splitext(image_file)  # 把文件名拆分为名字和后缀if portion[1] == ".tiff":name = portion[0]image_path = source_dir + "\\" + image_fileimage_name = target_dir + "\\" + name + ".jpg"#读取tiff图片(我的全是单通道,如果需要可以写if判断一下是单还是三通道)img = cv2.imread(os.path.join(source_dir, image_file))gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)image = np.zeros_like(img)image[:, :, 0] = grayimage[:, :, 1] = grayimage[:, :, 2] = gray#tiff转jpgimage = image / image.max()  # 使其所有值不大于一image = image * 255 - 0.001  # 减去0.001防止变成负整型image = image.astype(np.uint8)  # 强制转换成8位整型b = image[:, :, 0]  # 读取蓝通道g = image[:, :, 1]  # 读取绿通道r = image[:, :, 2]  # 读取红通道bgr = cv2.merge([r, g, b])  # 通道拼接cv2.imwrite(image_name, bgr)  # 图片存储print("finish" + " " + image_name)

后续修改+补充:cv2.imread读取默认转为三通道rgb图像

所以从思路来看可以直接cv2.imread读取为rgb图,并拆分img的名字和后缀,将后缀改为jpg即可了,简单方便。

image_B = cv2.imread((self.files_B[random.randint(0, len(self.files_B) - 1)]), 0)# 第二个参数是通道数和位深的参数,# IMREAD_UNCHANGED = -1  # 不进行转化,比如保存为了16位的图片,读取出来仍然为16位。# IMREAD_GRAYSCALE = 0  # 进行转化为灰度图,比如保存为了16位的图片,读取出来为8位,类型为CV_8UC1。# IMREAD_COLOR = 1   # 进行转化为RGB三通道图像,图像深度转为8位# IMREAD_ANYDEPTH = 2  # 保持图像深度不变,进行转化为灰度图。# IMREAD_ANYCOLOR = 4  # 若图像通道数小于等于3,则保持原通道数不变;若通道数大于3则只取取前三个通道。图像深度转为8位
import os
import cv2
import numpy as np
from osgeo import gdal
from skimage import iosource_dir = 'D:\desk\dm\Acky\BaseNet\data_set\FUSARship-t-v\\val\\tug'  # 源tiff图路径
target_dir = 'D:\desk\dm\Acky\BaseNet\data_set\FUSARship-1\\val\\tug'  # 保存到的jgp路径# 如果目标目录不存在的话,进行目录的新建
if not os.path.exists(target_dir):os.makedirs(target_dir)
files = os.listdir(source_dir)for image_file in files:name = []portion = os.path.splitext(image_file)  # 把文件名拆分为名字和后缀if portion[1] == ".tiff":name = portion[0]image_path = source_dir + "\\" + image_fileimage_name = target_dir + "\\" + name + ".jpg"img = cv2.imread(os.path.join(source_dir, image_file))cv2.imwrite(image_name, img)  # 图片存储print("finish" + " " + image_name)

python 单通道tiff图转jpg相关推荐

  1. python 单通道wav转成双通道wav

    需求:将一个单通道的wav音频文件转化成双通道的wav文件 解决方法:将单通道文件复制成双通道 参考链接:[音频处理]python将两个单声道wav音频合成一个双声道wav音频_立体声感 import ...

  2. python单通道转三通道

    为了在灰度图像上画彩色框,而需要把单通道转为三通道 在网上找了好几种方法都报错,说是图片是数组格式,无法转换 最终靠这两句代码,成功转换到了三通道中 # im 为单通道图像 image为生成的三通道图 ...

  3. python 单通道转3通道

    下面有两种方法都可以: import numpy as np a=np.asarray([[10,20],[101,201]])# a=a[:,:,np.newaxis] # print(a.shap ...

  4. 单通道灰度图片fine-tune训练网络与caffe批量分类测试

    1. 转imdb灰度图数据 一定要加上--gray,否则训练时报如下错误: GLOG_logtostderr=1 $TOOLS/convert_imageset \--resize_height=$R ...

  5. python将图像转换为8位单通道_Python OpenCV读取16位单通道图像并转换为8位灰度图显示...

    语义.实例分割数据集的标注图像以及一些深度图像等都是由单通道16位整型图像存储的,我们通常需要读取这种图像并显示出来,由于OpenCV一般只能够对8位图像进行显示,也就是像素范围在0-255的图像,而 ...

  6. python将图像转换为8位单通道_使用Python将图片转换为单通道黑白图片

    本文介绍如何使用python将图片转换为纯黑白的单通道图片.文中用到的脚本支持彩色.灰度.带alpha通道的输入图片以及SVG矢量图,支持调整输出图片大小以及设置灰度阈值. 最后介绍如何输出SSD13 ...

  7. 三通道的黑白图(不同于单通道的普通的黑白图片)

    有的图片是黑白色的,但不是单通道,而是三通道的,是因为 每个 像素点 的 3个值 相同(其中要注意三个通道的像素点的值一样,要是三个通道当前值的平均值(代码上的temp)而不是某个通道上的值). 也就 ...

  8. python opencv单通道转多通道_13、OpenCV绘图和文本显示

    我们经常想要绘制各种形状,为此,OpenCV提供了一系列功能,可以绘制直线,矩形,圆等.OpenCV的绘图功能适用于图像,但其中大多数仅影响前三个通道,在单通道图像的情况下仅默认第一个通道.大多数绘图 ...

  9. 2转单通道 python_机器学习用Python—Python集成工具包Anaconda安装步骤

    近几年来,机器学习以及深度学习的研究异常火热,机器学习和深度学习也逐渐渗透到各个领域,当然,脑科学领域也不例外.利用机器学习和深度学习技术解决脑科学领域中的问题,成为目前最为火热的研究方向之一.而神经 ...

最新文章

  1. js弹框带传值父窗口给子框_JavaScript实现弹出子窗口并传值给父窗口
  2. 做JAVA开发的同学一定遇到过的爆表问题,看这里解决
  3. python列表写入csv文件_将多个列表写入csv。Python中的文件
  4. Node.js有了新的管理者
  5. 为什么0.1无法被二进制小数精确表示?
  6. 抽象工厂模式升级版————泛型化实现
  7. 快速排序里的学问:从猜数字开始 猜数字里的算法思想
  8. oracle11g 查看表,oracle11g查看,添加表空间
  9. 字符串分割 异常 泛型 练习
  10. 在crontab中利用scp命令自动备份文件
  11. SpringBoot+jersey实现
  12. 【转】Java中的static关键字解析
  13. AlphaPose(RMPE)区域多人姿态估计理解
  14. 微信小程序分享页面,分享到朋友圈
  15. 【视频演示】B站视频演示
  16. 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
  17. 【教学类-17-01】20221122《世界杯七巧板A4整页-随机参考图+七巧板+画框》(大班)
  18. 聊一下关于面试的话题,只谈共性,不谈个例,一家之言,仅供求职者参考:)
  19. Python matplotlib 堆叠图
  20. sql2000不显示服务器失败,安装sql server 2000数据库提示程序配置服务器失败.(解决方法)...

热门文章

  1. 期货、股票资管分仓软件分账户系统APP开发需要用到哪些技术?
  2. FLAC3D模拟的典型工程实例
  3. 史密斯热水器 保养灯亮闪烁
  4. 4.Tableau的数据预处理
  5. Windows 修改键盘映射(附带Linux下Ubuntu的修改方法)
  6. doa的matlab算法,基于MATLAB的DOA估计算法的二维仿真建模
  7. ElasticSearch的学习笔记并整合SpringBoot做测试
  8. Minecraft 1.12.2 彩色渐变字体 模组发布
  9. 西工大机考《房地产法》大作业网考
  10. pptx---基础概念解释