1、有些模型只识别.jpg或.png格式的图像,如何将其他格式转换成.jpg或.png格式,且尽可能降低图像质量损失?解决方案如下:

import cv2image = cv2.imread('source.tif')num_jpg = 100
# num_jpg表示图像质量,取值0~100,值越大,图像越清晰,占用内存也越大
cv2.imwrite('target.jpg', image, [int(cv2.IMWRITE_JPEG_QUALITY), num_jpg])num_png = 9
# num_png表示压缩级别,取值0~9,值越大,图像压缩程度越大,占用内存越小,清晰度变化不明显
cv2.imwrite('target.png', image, [int(cv2.IMWRITE_PNG_COMPRESSION), num_png])

2、原始图像是16位的,如何确保读取、显示、保存时还是16位的?对比发现,cv2比Image和plt功能强:
Image 读取OK 显示NG 保存OK
cv2 读取OK 显示OK 保存OK
plt 读取OK 显示OK 保存NG

import numpy as np
from PIL import Image# 读取图像
image = Image.open('source.tif')
# 无法显示图像,显示一片空白
image.show()
# 可以是.png/.tif/.tiff后缀,但不可以是.jpg后缀,否则16位被压缩为8位
image.save('source.png')
# 打印图像
image = np.array(image)
print(image)

import cv2# 读取图像
image = cv2.imread('source.tif', cv2.IMREAD_UNCHANGED)
# 正常显示图像,灰度值为16位,如果显示器是8位的,color值也是8位的
# x,y = pyautogui.position()
# color = pyautogui.screenshot().getpixel((x,y))
cv2.imshow('source',image)
cv2.waitKey()
# 可以是.png/.tif/.tiff后缀,但不可以是.jpg后缀,否则16位被压缩为8位
cv2.imwrite('source.png', image)
# 打印图像
print(image)

import matplotlib.pyplot as plt# 读取图像
image = plt.imread('source.tif')
# 正常显示图像,灰度值为16位,如果显示器是8位的,color值也是8位的
# x,y = pyautogui.position()
# color = pyautogui.screenshot().getpixel((x,y))
plt.imshow(image,'gray')
plt.show()
# 无论是.png/.tif/.tiff后缀,还是.jpg后缀,都直接保存为32位
plt.imsave('source.png', image)
# 打印图像
print(image)

图像处理——如何处理不同格式和深度的图像确保清晰度满足要求相关推荐

  1. Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#)

    Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#) Baumer工业相机 Baumer工业相机保存位深度12/16 ...

  2. 快速构建深度学习图像数据集,微软Bing和Google哪个更好用?

    译者 | Serene 编辑 | 明明 出品 | AI 科技大本营(公众号ID:rgznai100) [AI 科技大本营导读]在本文中,作者将利用微软的 Bing Image Search API 来 ...

  3. 【每周CV论文】初学深度学习图像对比度增强应该要读的文章

    欢迎来到<每周CV论文>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像对比度增强,即增强图像中的有用信息,抑制无用 ...

  4. 【每周CV论文】深度学习图像降噪应该从阅读哪些文章开始

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像降噪是图像处理领域中非常传统和经典的问题 ...

  5. Python中的图像处理(第六章)Python图像量化及采样处理(2)

    Python中的图像处理(第六章)Python图像量化及采样处理(2) 前言 一. Python准备 二. Python仿真 三. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断上 ...

  6. 医学图像处理入门知识 | 格式DICOM,MHD+RAW | 坐标系 | ITK-SNAP | 重采样

    医学图像处理入门知识 引言 常见的医学图像格式 DICOM mhd+raw 坐标系 世界坐标体系 解剖学坐标体系 图像坐标体系 这三个坐标体系有什么关系呢?怎样转换呢? ITK-SNAP工具使用 基本 ...

  7. Python中的图像处理(第十一章)Python图像锐化及边缘检测(1)

    Python中的图像处理(第十一章)Python图像锐化及边缘检测(1) 前言 一. Python准备 二. Python仿真 三. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断 ...

  8. 像素深度 与 图像深度

    像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率.像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.例如,一幅彩色图像的每个像素用R,G,B三个分 ...

  9. matlab aviread cdata,Matlab的使用—Avi格式的视频与图像

    Matlab中文论坛中的东西,自己毕业设计搞图像处理,曾经搞过视频与图像的相互转换之类的--不错-- 以下代码本文验证过--不错-- 有些人可能拿自己的avi文件进行读取转换,会出错,原因之一:avi ...

最新文章

  1. 清华直博,10年深耕于Al,对话自动驾驶独角兽创始人
  2. 使用Jodd简化邮件服务的开发
  3. 为什么数学无法给机器意识
  4. 谈谈我开发过的几套语音通信解决方案
  5. Spring Data MongoDB : Query document(MongoDB中使用Query时的Query的编写和调用方式)
  6. oracle-ORA-01555错误
  7. UNITY 多SCENE加载与编辑
  8. php标签嵌入规范,HTML标签嵌套的详细规则
  9. gpg96244qs1屏驱动起来了
  10. android中的后退功能,如何在Android应用中实现一个返回键功能
  11. jeecg_framework_v2.1.0(20130123).rar 版本发布
  12. Apache2月9日邮件:Tomcat请求漏洞(Request Smuggling)
  13. 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本
  14. java generatedvalue_java-@GeneratedValue和@GenericGen之间的区别
  15. javascript中this和super用法
  16. Zeppelin的求学之路(2)——配置Spark解释器,job提交到yarn
  17. 设备无法使用、驱动载入异常(39){无法取得路径} 路径 %hs 不存在
  18. c语言的%的转义吗,%20转义(C语言转义字符问题)
  19. 物联网通信篇 NBIOT_01
  20. Python正则表达式中的‘r‘

热门文章

  1. 浅谈对ActiveMQ的理解
  2. Ubuntu14.04安装calamari
  3. html界面等待状态,html页面Loading效果实现:加载新页面前的等待过渡画面
  4. 景点门票销售管理系统 基于 python实现gui界面 之 笔记
  5. 是用JDBC从数据库中获取数据并以java对象返回
  6. 如何训练GAN?训练GAN的技巧和方法
  7. Thread.interrupted()
  8. Core Telephony Framework
  9. ESP8266 SmartConfig一键配网
  10. Android OpenCV(三十二):霍夫直线检测