Ho bisogno di eseguire molte operazioni su un'immagine. Quindi ho usato OpenCV. OpenCV è molto efficiente nell'elaborazione delle immagini, tuttavia non è bello presentare una GUI adeguata. Così ho deciso di usare PyQt per disegnare una GUI personalizzata e OpenCV per elaborare la mia immagine.Come combinare OpenCV con PyQt per creare una semplice GUI?
Ho creato un programma molto semplice che è stato scelto direttamente dalla documentazione. Ho semplicemente letto un'immagine jpg
e salvata in un formato png
premendo il tasto s
.
Il mio obiettivo è sostituire la chiave s
con un pulsante da premere per eseguire la stessa azione usando PyQt. Inoltre, voglio che la finestra visualizzata da PyQt abbia lo stesso comportamento di OpenCV: principalmente, la funzione imshow()
visualizza una finestra che si adatta alle dimensioni dell'immagine.
Ecco il mio OpenCV codice semplice:
import numpy
import cv2
class LoadImage:
def loadImage(self):
img = cv2.imread('photo.jpg')
cv2.imshow('Image on a window',img)
k = cv2.waitKey(0)
if k == 27:
cv2.destroyAllWindows()
elif k == ord('s'):
cv2.imwrite('photopng.png',img)
cv2.destroyAllWindows()
if __name__=="__main__":
LI=LoadImage()
LI.loadImage()
uscita:
Ecco un codice PyQt semplice per disegnare una semplice finestra:
import sys
from PyQt4 import QtGui
class DrawWindow:
def drawWindow(self):
app=QtGui.QApplication(sys.argv)
w=QtGui.QWidget()
#w.resize(250,250)
w.move(300,300)
w.setWindowTitle("Simple Window")
w.show()
sys.exit(app.exec_())
if __name__=="__main__":
DW=DrawWindow()
DW.drawWindow()
Come può Mescolo i 2 codici per raggiungere il mio obiettivo?
Grazie per aver provato. Innanzitutto, ho davvero bisogno di usare OpenCV per l'elaborazione delle immagini. In secondo luogo, ho ricevuto diversi errori durante la compilazione del codice. +1 tuttavia per lo sforzo. –
Questo codice sembra corretto. L'elaborazione è in OpenCV (ad esempio, guarda cv2.cvtColor) e solo la visualizzazione viene gestita usando Qt (QPixmap) che va bene. Sto facendo lo stesso in molte sceneggiature. Stai attento quando converti la tua immagine da cv a qt (cerca nel web i convertitori)! – Mailerdaimon