灰度图(IR 图)转成 RGB 图预览,画面出现光斑/黄斑问题解决
一、背景
存在一个 IR 图(红外线 Infrared Radiation),需要在页面上显示出来,IR 图片格式是 gray8
,即 8 位的灰度图。
Android 上的 Bitmap 图片格式使用的是 ARGB_8888
,所以需要把灰度图转 ARGB 图,每个通道都为 8 位。
二、问题现象
转码思路很简单,就是一个 int 表示一个像素点,刚好是 4 * 8 = 32 位。
那么每一位的值都是等于灰度值,透明度为 0xFF
即可。
Canvas canvas = mCameraView.getHolder().lockCanvas();// draw irint[] pixels = new int[mImageWidth * mImageHeight];for (int i = 0; i < pixels.length; i++) {int gray = iru8[i];pixels[i] = (0XFF000000) | (gray << 16) | (gray << 8) | gray;}Bitmap bitmap = Bitmap.createBitmap(pixels, mImageWidth, mImageHeight, Bitmap.Config.ARGB_8888);canvas.drawBitmap(bitmap, mIRMatrix, null);
然后预览时出现的问题就是下图这样,有很明显的光斑存在:
三、问题解决
首先,上面的现象肯定不是正常的,仔细看看代码,int gray = iru8[i]
这个步骤其实是有问题的,因为 byte
的范围是 -128 ~ 127
的,如果是负数,赋值为 int 的时候问题就大了(毕竟 java 里面也没有无符号数),之后的移位操作就会出错。
所以我们需要如下改动即可:
int gray = iru8[i] & 0xFF;
再运行一下,画面就正常了:
一个小问题,注意注意移位操作中应该多加小心。
灰度图(IR 图)转成 RGB 图预览,画面出现光斑/黄斑问题解决相关推荐
- 分布式图处理引擎Graph Engine 1.0 预览版正式发布
分布式图处理引擎Graph Engine 1.0 预览版正式发布 我们很高兴地宣布,由微软亚洲研究院开发的Graph Engine 1.0预览版正式发布.Graph Engine是一个基于内存的分布式 ...
- vue中将base64的pdf文件流转换成pdf并预览(二)——base64转PDF工具的使用
vue中将base64的pdf文件流转换成pdf并预览(二)--base64转PDF工具的使用 Base64 to PDF官网 1.官网 官网--https://www.ipvoid.com/base ...
- vue中将base64的pdf文件流转换成pdf并预览(一)——vue-pdf组件的基本使用
vue中将base64的pdf文件流转换成pdf并预览(一)--vue-pdf组件的基本使用 vue-pdf组件官网--https://www.npmjs.com/package/vue-pdf 1. ...
- vue3中将base64的pdf文件流转换成pdf并预览(三)——base64数据转pdf pdf工具栏不显示 vue3-seamless-scroll组件的使用-事件捕获 给接口追加数据
vue3中将base64的pdf文件流转换成pdf并预览(三)--接口base64数据转pdf的处理 & pdf工具栏不显示 & vue3-seamless-scroll组件的使用-事 ...
- uni-app 轮播图视频+图片 视频图片全屏预览 两种方法
项目场景: 在做商城项目的时候,商品详情的轮播图需要同时显示视频和图片,并且能够全局预览 解决方案: 如果项目里有uview这个组件库,可以通过swiper轮播图的指定类型进行解决,点击这里进行跳转 ...
- 将office 的文件,word,xlsx,ppt,txt 转成pdf 供预览
java实现在线预览功能--openoffice(支持xlx,xlxs,txt,word,ppt等格式)_Bestest~的博客-CSDN博客_openoffice 能预览哪些格式功能说明:利用ope ...
- 文档转成html在线预览,java poi Word文档转为HTML文件 实现在线预览功能
Java代码 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; im ...
- html打印为pdf时为空白,CAD打印成PDF时,预览的时候是可以看到,但打印后是空白的,不知为什么?...
可能是打印设置没有做好.你可以再次尝试一下修改打印路径试一下. 我们运行迅捷CAD编辑器专 业版制图软件,然后可以操作: 1.在命令行输入"config"命令字符,调用" ...
- 如何把HTML转换成动图,视频转gif 如何将视频制作gif动画图片
狸窝是帮助用户解决问题 提供教程解决方案 在这个过程中有使用我们自己开发的软件 也有网上找的工具 只要帮助用户解决问题就好!同意请往下学习↓↓↓ 一个女人抱着条狗 在数钱!你也可以抱条狗数着钱录段视频 ...
最新文章
- 一维码ITF 25简介及其解码实现(zxing-cpp)
- 长连接、短连接、短轮询、长轮询
- 如何在64位win7下通过ODAC来访问Oracle服务器
- 输入参数的数目不足_机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明...
- 安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
- 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?
- html:(2):制作第一个网页和html和css的关系
- 【APIO2015】完跪记
- 美图技术博客之地理空间距离计算优化
- Android JNI开发入门之二
- monkey操作,获取包名,参数,日志,百分比
- 【从理论到代码】旋转矩阵与欧拉角 一
- 让云触手可及——微软云计算解决方案白皮书
- 64位微型计算机64指技术指标,\\\64位微型计算机\\\中的64,是指下列技术指标中的...
- 业界最全的iOS包瘦身技术实践总结
- ie主页被篡改(修改注册表)
- 苏州承泽医疗科技面经
- 思科交换机接口安全配置
- 关于三星S9+ NFC绑定门禁卡
- 光照强度传感器BH1750