تبدیل cv::Mat به QImage - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۹۳ نفر آنلاین
۵۰ عضو و ۱۴۳ مهمان در سایت حاضرند

تبدیل cv::Mat به QImage

+1 امتیاز
سلام آقا کسی راهی بلده که چه جوری  cv::Mat رو به QImage تبدیل کنم ؟
سوال شده آذر 5, 1392  بوسیله ی رامین قربانی (امتیاز 75)   5 11 15
دوباره تگ گذاری شد دی 4, 1392 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام از این استفاده کن .

QImage putImage(const cv::Mat& mat)
{
    if(mat.type()==CV_8UC1)
    {
        QVector<QRgb> colorTable;

        for (int i=0; i<256; i++)
            colorTable.push_back(qRgb(i,i,i));

        const uchar *qImageBuffer = (const uchar*)mat.data;
        QImage img(qImageBuffer, mat.cols, mat.rows, mat.step, QImage::Format_Indexed8);
        img.setColorTable(colorTable);
        return img;
    }
    if(mat.type()==CV_8UC3)
    {
        const uchar *qImageBuffer = (const uchar*)mat.data;
        QImage img(qImageBuffer, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
        return img.rgbSwapped();
    }
    return QImage();

}

 

پاسخ داده شده بهمن 11, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد بهمن 11, 1392 بوسیله ی مصطفی ساتکی
...