Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9509

【OpenCVSharp】Mat.ForEachByteの使い方Memo

$
0
0

なんだか意外と検索に引っかからなかったので備忘録です。

以下は指定領域のピクセル画素のRGBをジャグ配列に詰めている様子です。

using(varroiImg=newMat(img,roi)){varchannels=img.Channels();vartempArray=newbyte[roi.Width*roi.Height][];for(inti=0;i<tempArray.Length;i++){tempArray[i]=newbyte[channels];}unsafe{roiImg.ForEachAsByte((pixel,position)=>{for(inti=0;i<channels;i++){tempArray[position[1]*roi.Height+position[0]][i]=pixel[i];}});}returntempArray;}

positionがどう使うのか良く分からなかったですがとりあえずこれで通りました。
ポインタの指す先がxで1個次にyが入ってる??
pixelはよく使うのはRGBかBGRもしくはグレースケールの1チャンネルでしょうか。
RGBの場合はpixel[0] : R / pixel[1] : G / pixel[2] : Bで、
グレースケールの場合の場合はpixel[0]のみ使う感じですね。


Viewing all articles
Browse latest Browse all 9509

Trending Articles