Я искал такие ответы.
Я нашел этот метод в QPixmap transformed(), хотя я думаю, что он не поможет мне в поиске метода преобразования изображений QPixmap (оттенки серого) в матрицу...
Спасибо за помощь =)
Я искал такие ответы.
Я нашел этот метод в QPixmap transformed(), хотя я думаю, что он не поможет мне в поиске метода преобразования изображений QPixmap (оттенки серого) в матрицу...
Спасибо за помощь =)
QMatrix
в функции QPixmap::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;
Вы можете легко изменить матричную переменную на какой-либо другой макет в памяти, если хотите.