2011-07-10 11 views
2

私はそのような答えを探していました。私はそれがマトリックスの中に画像(グレースケール)をQPixmapの変換する方法を探すの私の追求で私を助けにはならないと思いますけれども QPixmapをマトリックスに変換するには

は私が...変換QPixmapの ()中のため

おかげで、この方法を見つけましたヘルプ=)

+0

Matrixとはどういう意味ですか? Qtや標準C++ AFAIKにはそのようなクラスはありません。 – Mat

+0

申し訳ありません:統計的な目的(バイオメトリクスなど)に使用できる多次元配列としてこの行列を参照しています。 – Rek

答えて

4

QPixmap::transformed()QMatrixの機能は、特にワープ画像用です。

あなたがしたいことは、QPixmapの値をいくつかのマトリックスに読み込むことだと思います。 グレースケールの意味を指定していませんが、画像がグレースケールでない場合はqGray(QRgb)で十分です。

私は基本的にこのようなものは何が必要だと思う:

QImage myimage = mypixmap.toImage(); // convert your QPixmap to QImage 
int width = myimage.width(); 
int height = myimage.height(); 
int *matrix = new int [width*height]; // store 2-D data in 1-D vector 

for(int j = 0; j < height; j++) 
{ 
    for(int i = 0; i < width; i++) 
    { 
    matrix[j*width+i] = qGray(myimage.pixel(i,j)); 
    } 
} 

// ... do stuff ... 

delete [] matrix; 

あなたが好きな場合は、簡単にメモリ内の他のレイアウトに行列変数を変更することができます。

+0

私はあなたの答えが気に入っています。逆の操作のために使用します:マトリックスからのQImage作成(QVector ) – dlewin

関連する問題