Bir görüntü üzerinde çok fazla işlem yapmam gerekiyor. Ben de OpenCV kullandım. OpenCV görüntü işlemede çok verimlidir, ancak uygun bir GUI sunmak için çok iyi değildir. Bu yüzden görüntümü işlemek için özel bir GUI ve OpenCV çizmek için PyQt kullanmaya karar verdim.Basit bir GUI oluşturmak için PyCt ile OpenCV nasıl birleştirilir?
Doğrudan belgelerden aldığınız çok basit bir program oluşturdum. Bir jpg
resmini okudum vetuşa basarak png
biçiminde kaydediyorum.
Amacım, PyQt kullanarak aynı işlemi gerçekleştirmek için s
anahtarını bir tuşla değiştirmektir. Ayrıca, PyQt tarafından görüntülenen pencerenin OpenCV ile aynı davranışı göstermesini istiyorum: temel olarak, imshow()
işlevi görüntü boyutuna uyan bir pencere görüntüler. İşte
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()
Çıktı:
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()
Nasıl: Burada
basit bir pencere çizmek için basit PyQT kodudur Hedefime ulaşmak için 2 kodu karıştırıyorum?
Denediğiniz için teşekkür ederiz. İlk olarak, görüntü işleme için OpenCV kullanmam gerekiyor. İkincisi, kodunuzu derlerken birkaç hatam var. Ancak çaba için +1. –
Bu Kod doğru görünüyor. İşlem, OpenCV'de (örneğin, cv2.cvtColor'a bakın) ve sadece görüntüleme, Qt (QPixmap) kullanılarak ele alınır. Çok fazla kapalı senaryoda aynı şeyi yapıyorum. Görüntünüzü cv'den qt'ye dönüştürürken dikkatli olun (dönüştürücüler için web'de arama yapın)! – Mailerdaimon