Seite 1 von 1

Image Konvertieren, Image Module

Verfasst: Sonntag 8. Januar 2012, 20:34
von degon
Hi,

ich moechte Bilder laden und in ein PyQT GUI einfuegen, leider ist bei mir einiges verzerrt. Was mache ich falsch? Hier ist ein Auszug aus meinem Code. Ist die Konvertierung schlecht?

Code: Alles auswählen

        im = Image.open(str(self.ui.lineAddress.text()))
        ImConv = im.convert('L') # Konvertiert RGB in BW uint8 Grauwerte
        (sizeX, sizeY) = ImConv.size;   # = nim.size() geht nicht, warum? KLAR
        ImArray = np.array(ImConv);
        self.qimg = qimage2numpy.gray2qimage(ImArray)
        self.Imloaded = 1

        pixmap = QPixmap.fromImage(self.qimg)
        windowsize = self.ui.graphClassic.size()
        pixmap = pixmap.scaled(windowsize , Qt.KeepAspectRatio, Qt.SmoothTransformation)
        item = QGraphicsPixmapItem(pixmap)
        scene = QGraphicsScene(self)
        scene.setSceneRect(0, 0, pixmap.width()-5, pixmap.height()-5)
        scene.addItem(item)
        self.ui.graphClassic.setScene(scene)

Re: Image Konvertieren, Image Module

Verfasst: Montag 9. Januar 2012, 14:19
von jerch
Warum gehst Du den Umweg über PIL und numpy? Eine einfache Graustufenkonvertierung kannst Du mit Qt direkt vornehmen.

Re: Image Konvertieren, Image Module

Verfasst: Montag 9. Januar 2012, 21:39
von degon
Ich habe weitere Scripte die ueber die Spalten und Zeilen summieren um Auswertungen zu machen. Wonach muss ich denn im Qt suchen?

Re: Image Konvertieren, Image Module

Verfasst: Dienstag 10. Januar 2012, 05:49
von jerch
Fürs Graukonvertieren in Qt reicht Dir vllt. QImage.convertToFormat:

Code: Alles auswählen

gray = colored.convertToFormat(QImage.Format_Indexed8,
            map(lambda i: qRgb(i, i, i), xrange(0,256)), Qt.AutoColor)
Du kannst auch die Modifikationen in PIL/numpy vornehmen, in ein StringIO speichern und per QPixmap.loadFromData in Qt neu laden, ist allerdings auch nicht sehr performant.