如何将QPixmap转换为矩阵

Rek*_*Rek 2 qt transform matrix qpixmap

我一直在寻找这样的答案.

我在QPixmap transformed()中找到了这个方法,虽然我认为它对我搜索将QPixmap图像(灰度)转换为矩阵的方法没有帮助...

谢谢你的帮助=)

koa*_*oan 5

QMatrixQPixmap::transformed()功能专门为翘曲图像是.

我想你想要做的是从一个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;
Run Code Online (Sandbox Code Playgroud)

如果您愿意,可以轻松地将矩阵变量更改为内存中的其他布局.