如何把图片保存成16位png格式?

在进行图像处理的过程中,见过8位和24位的图片,然而还没见过16位的,其实也有,比如对于灰度图,就是相当于利用65535个灰度级进行灰度存储。而8位就是256个位置存储。相当于就是0-255.

今天尝试了巨久,用python写,但是一直都失败,结果最后发现matlab能够实现这一过程,不管是利用24位png转换成16位的png还是利用tif图片直接转换为16位的png都可以实现。代码如下:

Matlab 复制代码
% 指定tif文件路径
tif_file = '1.tif';
% 指定输出的png文件路径
output_png = '22.png';

% 读取tif文件
tif_image = imread(tif_file);

% 将tif图像数据类型转换为uint16
uint16_image = uint16(tif_image);

% 调整大小为1024x1024
resized_image = imresize(uint16_image, [1024, 1024]);
resized_image = im2gray(resized_image)*255;

% 保存为png格式
%imwrite(resized_image, output_png, 'png');
imwrite(resized_image,'C:\Users\zy\Desktop\2\2.png');

disp('转换已完成');

最后乘上255,不然的话你的图片显示不出来(也不一定,要看初始时候的图片的数值)。

相关推荐
边缘计算社区15 分钟前
首个!艾灵参编的工业边缘计算国家标准正式发布
大数据·人工智能·边缘计算
游客52026 分钟前
opencv中的各种滤波器简介
图像处理·人工智能·python·opencv·计算机视觉
一位小说男主26 分钟前
编码器与解码器:从‘乱码’到‘通话’
人工智能·深度学习
深圳南柯电子42 分钟前
深圳南柯电子|电子设备EMC测试整改:常见问题与解决方案
人工智能
Kai HVZ43 分钟前
《OpenCV计算机视觉》--介绍及基础操作
人工智能·opencv·计算机视觉
biter00881 小时前
opencv(15) OpenCV背景减除器(Background Subtractors)学习
人工智能·opencv·学习
吃个糖糖1 小时前
35 Opencv 亚像素角点检测
人工智能·opencv·计算机视觉
IT古董2 小时前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习
凯哥是个大帅比2 小时前
人工智能ACA(五)--深度学习基础
人工智能·深度学习
m0_748232922 小时前
DALL-M:基于大语言模型的上下文感知临床数据增强方法 ,补充
人工智能·语言模型·自然语言处理