24位bmp位图转为16位bmp位图方法,不失真

嵌入式系统中,为了节省存储空间,通常需要将24位bmp位图转换为16位。简单丢弃数据会导致严重失真。文章介绍了使用Java实现的一种不失真的转换方法,效果接近image2lcd工具。转换后的程序可打包为jar,并通过exe4j生成.exe执行文件,便于命令行调用,但转换速度较慢,每张图片耗时几秒。
摘要由CSDN通过智能技术生成

在嵌入式产品中,优化存储空间的限制,一般图片都需要压缩处理(MCU资源限,jpg等压缩算法均不能实现),可以将bmp或者jpg转换为16位bmp位图的方式,大多数情况下,失真度还是比较小的,肉眼基本分辨不出来。
转换不能采用简单地抛弃低位数据的方法,那样会导致图片严重的失真,这里找了一个java的实现方法:

 public static void image2RGB565Bmp(String filePath, String saveFileName)
         throws IOException, InterruptedException{
   
      
	BufferedImage sourceImg = ImageIO.read(new File(filePath));
	int h = sourceImg.getHeight(), w = sourceImg.getWidth();
	int[] pixel =
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值