アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
質問ですが、配列で画像のピクセル値(R,G,B)を行列に代入する場合は

CvMat *points = cvCreateMat (size, 1, CV_32FC3);
ピクセルの値を行列へ代入
for (i = 0; i < size; i++) {
points->data.fl[i * 3 + 0] = (uchar) src_img->imageData[i * 3 + 0];
points->data.fl[i * 3 + 1] = (uchar) src_img->imageData[i * 3 + 1];
points->data.fl[i * 3 + 2] = (uchar) src_img->imageData[i * 3 + 2];
}
のような流れでできますが、
これをピクセル値ではなく座標(x,y)を代入するにはどのように変更したらよいでしょうか。教えて下さい。

A 回答 (1件)

R,G,Bの3要素が I*3+0,+1,+2なら、 x,yの2要素はどうしたらいいか、予想できませんか?



あるいは、その座標の配列をOpenCVの関数で使うつもりなら、その関数のマニュアルを読めば、どんな形式が必要か書いてませんか?

あるいは、OpenCVで処理するのでなければ、普通にfloat x[SIZE],y[SIZE]みたいな配列2つとか、struct {float x,y} pt[SIZE] みたいに構造体使うとかしたらどうですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
OpenCVで使うつもりです。

2要素の場合は、I*2+0,+1でよろしいですか?

R,G,Bのとき、右辺はImageDataですが座標の場合はとくにそのようなものはないですか?

お礼日時:2011/11/28 13:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!