nodejs読み出し画像ピクセル


以前H 5をしていましたが、このような写真に関する問題がありました.つまり、一枚の写真を左右の空白部分に対称に切りました.背景は白いです.このことは簡単です.画像を読み込む画素は、左右の空白部分の幅をそれぞれ検出し、同じように裁断すればいいです.
次に、ピクチャ画素の読み取りに関する問題について、良いツールget-pixelsが発見され、ピクチャピクセルを読み出して、配列に戻ることができます.
インストール
npm install --save get-pixels
現在はPNG、JPEG、GIFの3つのフォーマットの画像に対応しています.
使い方
var getPixels = require("get-pixels")

getPixels("lena.png", function(err, pixels) {
  if(err) {
    console.log("Bad image path")
    return
  }
  console.log(pixels)
})
上記のようにデータを読み出すプロセスであり、戻り値pixelsは、ndarayオブジェクトである.以下はJPGピクチャの出力例である.
{ data: ... >,
  shape: [ 560, 508, 4 ],
  stride: [ 4, 2240, 1 ],
  offset: 0 }
dataは1次元配列であり、色のRGBBA値を記述し、sharpeは配列次元と各次元の大きさを表し、画像の幅はそれぞれ560および508であり、3番目の次元はRGBBA値を表している.strideは配列の各次元のステップ長であり、offsetは開始値を表します.以下の関数によって、ndarayを遍歴することができます.
getPixels("lena.png", function(err, pixels) {
  if(!err) {
      console.log(pixels.get(0,0,0));//    (0,0)  R 。
  }  
})
注意すべきは、JPGとPNGピクチャに対して、3次元配列「width,height,chanels」が返されることである.しかしGIFについては、4次元配列の「numFraames,width,height,4」である.
このようにして、画像のピクセルを採集して処理することができます.gmツールと協力して、画像をいくつか操作することができます.