首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取16位灰度TIFF文件的像素值(但仅前12位)

读取16位灰度TIFF文件的像素值(但仅前12位)
EN

Stack Overflow用户
提问于 2014-06-19 08:26:56
回答 1查看 961关注 0票数 0

我使用的是一台12位黑白相机。它可以做8位,但我需要额外的数据位来计算某些像素。所以我用相机生成了一个16位灰度的TIFF文件(这是获取我需要的12位数据的唯一方法)。

每个像素的内容(每个厂家)是: 11111111 1111XXXX -白色00000000 0000XXXX -黑色

其中X是随机的(同样是每个制造商)。

文件看起来不像最后4位是随机的,但这是另一回事(脱离主题)。

我要做的是打开这个文件,读取给定像素(比如X,Y)的像素值(前12位)。

我在网上看了看,但我能找到的都是能读懂全部16位的项目……

编辑:我能够直接读取相机缓冲区,这让我可以访问整个16位。我最终得到了一个UInt16,我需要将它转换成一个12位的数字。

EN

回答 1

Stack Overflow用户

发布于 2014-06-19 09:01:30

无法直接从文件中读取部分字节。你需要读取你想要的每个像素,然后去掉最后4位。例如。

int i; // some pixel from the image int pixel = i >> 4; // pixel > 0 for white

这使用位移位来去掉底部的4位。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24297022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档