VTK-VTK灰度图转为Qimage

             int dim[3];
             reader->GetOutput()->GetDimensions(dim);
             qDebug() << dim[0] << dim[1] << dim[2];
             QImage m_image( dim[0], dim[1], QImage::Format_RGB888);
             for (int x = 0; x <dim[0]; x++)                                                                      //
             {
                 for (int y = 0; y < dim[1]; y++)
                 {
                     unsigned char *h = static_cast<unsigned char*>(reader->GetOutput()->GetScalarPointer(x, y, 0));
                     QRgb pixel = qRgb(*h, *h, *h);                              //由于处理的是灰度图 所以RGB三个一样
                     m_image.setPixel(x, y, pixel);                                //每个点赋值
                 }
             }
            QImage imga = m_image.mirrored(false, true);    //得到的图像颠倒,用mirror改变方向。
             QImage newImg = imga.scaled(ui.label1->width(), ui.label1->height());  //适应label的大小。
             ui.label1->setPixmap(QPixmap::fromImage(newImg));

猜你喜欢

转载自blog.csdn.net/qq_36533978/article/details/81292607
今日推荐