2013-05-28 2 views
0

이미지를 QT (C++)에서 Qpixmap의 경로가 아닌 이름으로 전달하는 방법이 있습니까? 예를 들어 처리 된 이미지가 있어야하는 다음 코드가 있습니다. Qpixmap 레이블을 사용하여 표시했지만 내가 그것을 저장해야만 Qpixmap에 표시해야합니다. 그러나 효율적인 방법이 아니므로 아무도 내가 Qt를 처음 사용하고 경험이 없으면 제게 도움이 될 수 있습니다. .QPixMap에 이미지를 QT에서 경로가 아닌 것으로 전달

void MainWindow::on_pushButton_3_clicked() 
{ 
    cv::Mat hsv_img, seg_img,infected_area, hsv_infected,seg_input,hsv_seg; 
    Mat filter_img,hsv; 

    cv::Mat input_image = imread(this->file_name.toAscii().data()); 
    medianBlur(input_image,filter_img,7); 
    cvtColor(filter_img, hsv, CV_BGR2HSV); 
    hsvSeg(filter_img,hsv, hsv_img, seg_img,14.0,0.0,117.0,255.0,133.0,179.0);//call  hsv segmentation function to segment leaf 
    cvtColor(seg_img, hsv_seg, CV_BGR2HSV); 
    hsvSeg(seg_img,hsv_seg, hsv_infected, infected_area,0.09*255,0.01*255,0.1*255,0.14*255,1.0*255,1.0*255);//call hsv segmentation to segment infected areas 
    imwrite("C:/Image.jpg", filter_img); 

    this->ui->ImageView_2->setPixmap(QPixmap("C:/Image.jpg"));// here the problem 
+0

당신이 시도 했나 [QPixmap :: loadFromData()] (http://qt-project.org/doc/qt-5.0/qtgui/qpixmap.html # loadFromData) 이미? – cloose

+0

QT를 처음 접했을 때 사용 방법에 대한 예를 들어 줄 수 있습니까? –

답변

0

이 시도 :

cvtColor(mat, mat, CV_BGR2RGB); 
QImage qimg((uchar*)mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888); 
ui->label->setPixmap(QPixmap::fromImage(qimg)); 
관련 문제