簡體   English   中英

如何將圖像轉換為緩沖區

[英]How to convert image into Buffer

我想將圖像 Mat 轉換為緩沖區

console.log(image);

output:

Mat {
  step: 960,
  elemSize: 3,
  sizes: [ 160, 320 ],
  empty: 0,
  depth: 0,
  dims: 2,
  channels: 3,
  type: 16,
  cols: 320,
  rows: 160
}

我想把它轉換成這樣

Promise {
  <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 08 06 06 07 06 05 08 07 07 07 09 09 08 0a 0c 14 0d 0c 0b 0b 0c 19 12 13 0f ... 14164 more bytes>
}

我嘗試了各種方法,但沒有成功。

一些例子

var processImageBuffer = new ArrayBuffer(image);  // convert image to buffer array

var blob = new Blob(image);                       // convert buffer array to promise array

var processImageBuffer = blob.arrayBuffer();

var processImageBuffer = arrayBufferToBuffer(processImageBuffer);  // convert promise array to buffer

使用 NodeJ

const promise = fs.promises.readFile(path.join('path to image file'));

Promise.resolve(promise).then(function(buffer){
     console.log(buffer);
});

使用 opencv4nodejs

圖像緩沖 =>

 const image = cv.imread('image path');

 const str = image.toString('base64');

 const buffer = Buffer.from(str,'base64');

or

 const str =  cv.imencode('.jpg', image).toString('base64');

 const buffer = Buffer.from(str, 'base64');

緩沖到圖像 =>

const image = cv.imdecode(buffer);

暫無
暫無

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

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