def paint(self, painter): ''' Paint Frame''' if (self.currentFrame.map(QAbstractVideoBuffer.ReadOnly)): oldTransform = painter.transform() if (self.surfaceFormat().scanLineDirection() == QVideoSurfaceFormat.BottomToTop): painter.scale(1, -1) painter.translate(0, -self.widget.height()) self.image = QImage(self.currentFrame.bits(), self.currentFrame.width(), self.currentFrame.height(), self.currentFrame.bytesPerLine(), self.imageFormat) if self.widget._filterSatate.grayColorFilter: self.image = filter.GrayFilter(self.image) if self.widget._filterSatate.MirroredHFilter: self.image = filter.MirrredFilter(self.image) if self.widget._filterSatate.monoFilter: self.image = filter.MonoFilter(self.image) # TODO : Probar en un thread distinto if self.widget._filterSatate.edgeDetectionFilter: try: self.image = filter.EdgeFilter(self.image) except Exception: None # TODO : Probar en un thread distinto if self.widget._filterSatate.contrastFilter: try: self.image = filter.AutoContrastFilter(self.image) except Exception: None if self.widget._filterSatate.invertColorFilter: self.image.invertPixels() painter.drawImage(self.targetRect, self.image, self.sourceRect) if self._interaction.objectTracking and self.widget._isinit: frame = convertQImageToMat(self.image) # Update tracker ok, bbox = self.widget.tracker.update(frame) # Draw bounding box if ok: # qgsu.showUserAndLogMessage( # "bbox : ", str(bbox), level=QGis.Warning) painter.setPen(Qt.blue) painter.drawRect( QRect(int(bbox[0]), int(bbox[1]), int(bbox[2]), int(bbox[3]))) else: qgsu.showUserAndLogMessage("Tracking failure detected ", "", level=QGis.Warning) painter.setTransform(oldTransform) self.currentFrame.unmap() return self.painter
def paint(self, painter): ''' Paint ''' if (self.currentFrame.map(QAbstractVideoBuffer.ReadOnly)): oldTransform = painter.transform() if (self.surfaceFormat().scanLineDirection() == QVideoSurfaceFormat.BottomToTop): painter.scale(1, -1) painter.translate(0, -self.widget.height()) self.image = QImage(self.currentFrame.bits(), self.currentFrame.width(), self.currentFrame.height(), self.currentFrame.bytesPerLine(), self.imageFormat) if grayColorFilter: self.image = filter.GrayFilter(self.image) if monoFilter: self.image = filter.MonoFilter(self.image) if edgeDetectionFilter: self.image = filter.EdgeFilter(self.image) if contrastFilter: self.image = filter.AutoContrastFilter(self.image) if invertColorFilter: self.image.invertPixels() if zoomRect and self.zoomedrect is not None: painter.drawImage(self.sourceRect, self.image, self.zoomedrect) painter.setTransform(oldTransform) self.currentFrame.unmap() return # self.image = filter.change_contrast(self.image,20) painter.drawImage(self.targetRect, self.image, self.sourceRect) # painter.setTransform(oldTransform) self.currentFrame.unmap() self.currentFrame.release()
def paint(self, painter): """ Paint Frame""" if self._currentFrame.map(QAbstractVideoBuffer.ReadOnly): oldTransform = painter.transform() painter.setTransform(oldTransform) self.image = QImage( self._currentFrame.bits(), self._currentFrame.width(), self._currentFrame.height(), self._currentFrame.bytesPerLine(), self.imageFormat, ) if self.widget._filterSatate.grayColorFilter: self.image = filter.GrayFilter(self.image) if self.widget._filterSatate.MirroredHFilter: self.image = filter.MirrredFilter(self.image) if self.widget._filterSatate.monoFilter: self.image = filter.MonoFilter(self.image) if self.widget._filterSatate.invertColorFilter: self.image.invertPixels() # TODO : Test in other thread if self.widget._filterSatate.edgeDetectionFilter: try: self.image = filter.EdgeFilter(self.image) except Exception: None # TODO : Test in other thread if self.widget._filterSatate.contrastFilter: try: self.image = filter.AutoContrastFilter(self.image) except Exception: None # TODO : Test in other thread if self.widget._filterSatate.NDVI: try: self.image = filter.NDVIFilter(self.image) except Exception: None painter.drawImage(self._targetRect, self.image, self._sourceRect) self._currentFrame.unmap() return