9
votes

PYQT Obtenir la position de pixel et la valeur lorsque la souris cliquez sur l'image

J'aimerais savoir comment je peux sélectionner un pixel avec un clic de souris dans une image (qimge) et obtenir la position et la valeur de pixels.

merci


1 commentaires

Avez-vous un exemple qui peut fonctionner?


3 Réponses :


2
votes

Tout d'abord, vous devez dessiner l'image. Vous pouvez faire cela mon fabrication d'un qlabel widget et appelez setpixmap . Vous devez convertir votre qimage vers qpixmap avant de le faire (vous pouvez utiliser qpixmap.fromImage (img) ).

Vous pouvez obtenir des clics de souris en sous-classant le qimage et interceptant sourispressevent . Recherchez la valeur pixelle avec qimage.pixel () .


1 commentaires

Existe-t-il un exemple court complet qui peut être exécuté à Python? Je ne semble pas comprendre.



14
votes
self.image = QLabel()
self.image.setPixmap(QPixmap("C:\\myImg.jpg"))
self.image.setObjectName("image")
self.image.mousePressEvent = self.getPos

def getPos(self , event):
    x = event.pos().x()
    y = event.pos().y() 

0 commentaires

4
votes

Cette question est vieille mais pour tout le monde d'arriver ici, comme moi, c'est ma solution basée sur Jareds Réponse: xxx

Assurez-vous que la taille de l'étiquette correspond à la taille de l'image, Sinon, les coordonnées de la souris X et Y doivent être transformées en coordonnées d'images. Et je suppose qu'il est également possible d'utiliser la méthode .pixel () directement sur un pixmap également, mais l'objet QImage semble fonctionner mieux dans mon cas.


1 commentaires

Et si l'image était en format à l'échelle grise, comment puis-je obtenir l'intensité?