图像处理——如何处理不同格式和深度的图像确保清晰度满足要求
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)
图像处理——如何处理不同格式和深度的图像确保清晰度满足要求相关推荐
- Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#)
Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#) Baumer工业相机 Baumer工业相机保存位深度12/16 ...
- 快速构建深度学习图像数据集,微软Bing和Google哪个更好用?
译者 | Serene 编辑 | 明明 出品 | AI 科技大本营(公众号ID:rgznai100) [AI 科技大本营导读]在本文中,作者将利用微软的 Bing Image Search API 来 ...
- 【每周CV论文】初学深度学习图像对比度增强应该要读的文章
欢迎来到<每周CV论文>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像对比度增强,即增强图像中的有用信息,抑制无用 ...
- 【每周CV论文】深度学习图像降噪应该从阅读哪些文章开始
欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像降噪是图像处理领域中非常传统和经典的问题 ...
- Python中的图像处理(第六章)Python图像量化及采样处理(2)
Python中的图像处理(第六章)Python图像量化及采样处理(2) 前言 一. Python准备 二. Python仿真 三. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断上 ...
- 医学图像处理入门知识 | 格式DICOM,MHD+RAW | 坐标系 | ITK-SNAP | 重采样
医学图像处理入门知识 引言 常见的医学图像格式 DICOM mhd+raw 坐标系 世界坐标体系 解剖学坐标体系 图像坐标体系 这三个坐标体系有什么关系呢?怎样转换呢? ITK-SNAP工具使用 基本 ...
- Python中的图像处理(第十一章)Python图像锐化及边缘检测(1)
Python中的图像处理(第十一章)Python图像锐化及边缘检测(1) 前言 一. Python准备 二. Python仿真 三. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断 ...
- 像素深度 与 图像深度
像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率.像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.例如,一幅彩色图像的每个像素用R,G,B三个分 ...
- matlab aviread cdata,Matlab的使用—Avi格式的视频与图像
Matlab中文论坛中的东西,自己毕业设计搞图像处理,曾经搞过视频与图像的相互转换之类的--不错-- 以下代码本文验证过--不错-- 有些人可能拿自己的avi文件进行读取转换,会出错,原因之一:avi ...
最新文章
- 清华直博,10年深耕于Al,对话自动驾驶独角兽创始人
- 使用Jodd简化邮件服务的开发
- 为什么数学无法给机器意识
- 谈谈我开发过的几套语音通信解决方案
- Spring Data MongoDB : Query document(MongoDB中使用Query时的Query的编写和调用方式)
- oracle-ORA-01555错误
- UNITY 多SCENE加载与编辑
- php标签嵌入规范,HTML标签嵌套的详细规则
- gpg96244qs1屏驱动起来了
- android中的后退功能,如何在Android应用中实现一个返回键功能
- jeecg_framework_v2.1.0(20130123).rar 版本发布
- Apache2月9日邮件:Tomcat请求漏洞(Request Smuggling)
- 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本
- java generatedvalue_java-@GeneratedValue和@GenericGen之间的区别
- javascript中this和super用法
- Zeppelin的求学之路(2)——配置Spark解释器,job提交到yarn
- 设备无法使用、驱动载入异常(39){无法取得路径} 路径 %hs 不存在
- c语言的%的转义吗,%20转义(C语言转义字符问题)
- 物联网通信篇 NBIOT_01
- Python正则表达式中的‘r‘