0
我正在使用12位單色相機。它可以做8位,但我需要額外的數據位來進行某些像素的計算。所以我使用相機生成一個16位灰度TIFF文件(獲得我需要的12位數據的唯一方法)。讀取16位灰度TIFF文件的像素值(但只有前12位)
(按照製造商)的每個像素的內容是: 11111111 1111XXXX - 白色 00000000 0000XXXX - 黑
其中X是隨機的(再次根據製造商)。
該文件看起來好像最後4位是隨機的,但這是另一個問題(超出主題)。
我想要做的是打開該文件,讀取給定像素(比如X,Y)的像素值(前12位)。
我在網上看了,但所有我能找到的是項目,將讀取的所有16位...
編輯:我能夠直接讀取相機緩衝,給了我訪問整個16位。我最終得到了一個UInt16,我需要轉換成12位數字。
謝謝..我的像素值是一種類型的UInt16。 PixelValue = NewValue >> 4不起作用。我不知道我錯過了什麼。 – user3617652
根據http://stackoverflow.com/questions/3819593/c-sharp-bitwise-shift-on-ushort-uint16你只需要將偏移值轉換爲UInt16。 'ushort pixelFromImage =/* get from image * /; ushort pixel =(ushort)(pixelFromImage >> 4);' – OSborn