簡體   English   中英

使用 uint16array 數據顯示圖像

[英]display image by using uint16array data

我正在使用 XTK 庫做一個 DICOM 項目。 現在我需要從輸入 DICOM 文件創建一個縮略圖列表(輸出圖像可以是 PNG 或 JPG)。

在渲染過程中,XTK 在每個 DICOM 文件的一個Uint16Array中提供了一個像素數據數組。 但我不知道將這些像素數據轉換成畫布。

我正在看的內容的不必要的屏幕截圖

我搜索了一些相關的文章或問題,但沒有發現任何可能。

如今, ImageData 已成為一個構造函數,您可以輕松地將其置於 2d 上下文中。

它期望作為參數的是一個 UInt8ClampedArray,一個寬度和一個高度。

因此,從表示 rgba 像素數據的 Uint16Array 中,您只需要做

var data = your_uint16array;
var u8 = new Uint8ClampedArray(data.buffer);
var img = new ImageData(u8, width, height);
ctx.putImageData(img, 0,0);

但是根據您的屏幕截圖,您擁有的實際上是一個 Uint16Array 數組,因此您可能必須首先將所有這些 Uint16Array 合並為一個。

另請注意,Uint16Array 是對 rgba 像素數據的奇怪視圖,Uint32Array 更傳統(#ffff vs #ffffffff)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM