2
我一直在尋找這樣的答案。如何將QPixmap轉換爲矩陣
我的QPixmap 轉化()發現這個方法雖然我認爲它不會幫助我在我的追求搜索到的圖像(灰階)轉換的QPixmap成矩陣的方法...
感謝幫助=)
我一直在尋找這樣的答案。如何將QPixmap轉換爲矩陣
我的QPixmap 轉化()發現這個方法雖然我認爲它不會幫助我在我的追求搜索到的圖像(灰階)轉換的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;
您可以輕鬆地更改矩陣變量到一些其他的佈局在內存中,如果你喜歡。
我喜歡你的答案,這是優雅的。我將使用它來進行反向操作:從矩陣創建QImage(QVector
Matrix是什麼意思?在Qt或標準C++ AFAIK中沒有這樣的類。 – Mat
對不起:我把這個矩陣作爲一個多維數組,可以用於統計目的(如生物識別等) – Rek