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

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

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

% 指定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,不然的话你的图片显示不出来(也不一定,要看初始时候的图片的数值)。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉姆哥的小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值