在QLabel / QGraphicsView中显示Dicom图像

时间:2015-11-02 14:01:53

标签: c++ qt visual-studio-2013 dicom mitk

我是MITK的新手,而不是高级程序员。 我需要帮助在QT Widget中显示DICOM图像。 我正在使用Visual Studio 2013,MITK和QT5来开发一个程序,它应该打开并查看DICOM图像。用户浏览随后显示的图像。 我在这里看到:Interactively editing an existing rectangle on a QPixmap?可以使用QLabel和QGraphicsview。 我只是不知道如何在我的程序中使用它:

void MainWindow::on_openButton_pressed()
{
QString imagePath = QFileDialog::getOpenFileName(
    this, tr("Open File"),
    "",
    tr("JPEG(*.jpg *.jpeg);;DICOM(*.dcm)")
    );
imageObject = new QImage();
imageObject->load(imagePath); //bool status is false here
image = QPixmap::fromImage(*imageObject)
image.load(imagePath);

QSize bigsize = ui->bigImageLabel->size();
QSize bigsize = ui->label->size();
ui->label->setPixmap(image.scaled(bigsize, Qt::IgnoreAspectRatio, Qt::FastTransformation));
ui->label->show();
}

我也尝试过使用QGraphicsView(仅适用于JPEG)。

scene = new QGraphicsScene(this);
scene->addPixmap(image);
scene->setSceneRect(image.rect());
ui->ViewCoronal->setScene(scene);

我希望有人可以帮助我。 提前致谢

1 个答案:

答案 0 :(得分:1)

如果QImage::load失败,则没有必要将其转换为QPixmap,因为默认情况下QImage是用0,0构造的,当你显示这样的QPixmap时你什么也看不见。默认情况下,Qt不支持" DICOM"图像格式,因此您无法使用Qt功能的任何部分显示此图像。

因此,您可以自行为此图片格式实施Qt插件,请参阅http://doc.qt.io/qt-5/qtimageformats-index.html或使用现有的插件,根据http://docs.mitk.org/2015.05/group__org__mitk__gui__qt__dicom.html#details

但是要使用mitk插件,你应该把它放到正确的位置,比如path/to/qt5/plugins/imageformats你还必须确保你的程序,Qt和MITK使用相同的配置,如Debug / Release