def SaveOptions(self): """ Save Options """ # Magnifier Glass # # Shape Type if self.rB_Square_m.isChecked(): self.settings.setValue(self.NameSpace + "/Options/magnifier/shape", 0) # Square else: self.settings.setValue(self.NameSpace + "/Options/magnifier/shape", 1) # Circle self.settings.setValue(self.NameSpace + "/Options/magnifier/size", self.sl_Size.value()) self.settings.setValue(self.NameSpace + "/Options/magnifier/factor", self.sb_factor.value()) # Drawings # self.settings.setValue( self.NameSpace + "/Options/drawings/polygons/width", self.poly_width.value()) self.settings.setValue( self.NameSpace + "/Options/drawings/polygons/pen", self.poly_pen.color()) self.settings.setValue( self.NameSpace + "/Options/drawings/polygons/brush", self.poly_brush.color()) self.settings.setValue( self.NameSpace + "/Options/drawings/points/width", self.point_width.value()) self.settings.setValue(self.NameSpace + "/Options/drawings/points/pen", self.point_pen.color()) self.settings.setValue( self.NameSpace + "/Options/drawings/lines/width", self.lines_width.value()) self.settings.setValue(self.NameSpace + "/Options/drawings/lines/pen", self.lines_pen.color()) self.settings.setValue( self.NameSpace + "/Options/drawings/measures/width", self.measures_width.value(), ) self.settings.setValue( self.NameSpace + "/Options/drawings/measures/pen", self.measures_pen.color()) self.settings.setValue( self.NameSpace + "/Options/drawings/measures/brush", self.measures_brush.color(), ) draw.setValues(self) # UpdateStylesDrawLayers(self.NameSpace) self.close() return
def __init__(self): """ Contructor """ QDialog.__init__(self) self.setupUi(self) self.settings = QSettings() self.NameSpace = getNameSpace() self.sl_Size.enterEvent = self.showSizeTip draw.setValues(self)
def resizeEvent(self, _): """ @type _: QMouseEvent @param _: @return: """ self.surface.updateVideoRect() self.update() # Magnifier Glass if self._interaction.magnifier and not self.dragPos.isNull(): draw.drawMagnifierOnVideo(self, self.dragPos, self.currentFrame(), self.painter)
def __init__(self, iface, parent=None): super().__init__(parent) self.setupUi(self) self.parent = parent self.iface = iface self._PlayerDlg = None self.isStreaming = False self.meta_reader = {} self.initialPt = {} self.pass_time = 500 #self.intervall = 1000 #self.notify_int = 3000 self.VManager.viewport().installEventFilter(self) # Context Menu self.VManager.customContextMenuRequested.connect(self.__context_menu) self.removeAct = QAction( QIcon(":/imgFMV/images/mActionDeleteSelected.svg"), QCoreApplication.translate("ManagerDock", "Remove from list"), self, triggered=self.remove) self.VManager.setColumnWidth(1, 150) self.VManager.setColumnWidth(2, 80) self.VManager.setColumnWidth(3, 300) self.VManager.setColumnWidth(4, 300) self.VManager.verticalHeader().setDefaultAlignment(Qt.AlignHCenter) self.VManager.hideColumn(0) # Get Video Manager List VideoList = getVideoManagerList() for load_id in VideoList: filename = s.value(getNameSpace() + "/Manager_List/" + load_id) _, name = os.path.split(filename) folder = getVideoFolder(filename) klv_folder = os.path.join(folder, "klv") exist = os.path.exists(klv_folder) if exist: self.AddFileRowToManager(name, filename, load_id, exist, klv_folder) else: self.AddFileRowToManager(name, filename, load_id) draw.setValues()
def paintEvent(self, event): ''' Paint Event ''' self.gt = GetGCPGeoTransform() self.painter = QPainter(self) self.painter.setRenderHint(QPainter.HighQualityAntialiasing) if (self.surface.isActive()): videoRect = self.surface.videoRect() if not videoRect.contains(event.rect()): region = event.region() region.subtracted(QRegion(videoRect)) brush = self.palette().window() for rect in region.rects(): self.painter.fillRect(rect, brush) try: self.painter = self.surface.paint(self.painter) except Exception: None else: self.painter.fillRect(event.rect(), self.palette().window()) try: SetImageSize(self.surface.currentFrame.width(), self.surface.currentFrame.height()) except Exception: None # Draw On Video draw.drawOnVideo(self.drawPtPos, self.drawLines, self.drawPolygon, self.drawRuler, self.drawCesure, self.painter, self.surface, self.gt) # Magnifier Glass if self.zoomed and self._interaction.magnifier: draw.drawMagnifierOnVideo(self.width(), self.height(), self.maskPixmap, self.dragPos, self.zoomPixmap, self.surface, self.painter, self.offset) self.painter.end() return
def __init__(self, iface, parent=None, fmv=None): super().__init__(parent) self.setupUi(self) self.parent = parent self.fmv = fmv self.iface = iface self._PlayerDlg = None self.meta_reader = [] self.initialPt = [] self.pass_time = 250 self.buf_interval = 2000 self.update_interval = 2000 self.loading = False self.playlist = QMediaPlaylist() self.VManager.viewport().installEventFilter(self) # Context Menu self.VManager.customContextMenuRequested.connect(self.__context_menu) self.removeAct = QAction( QIcon(":/imgFMV/images/mActionDeleteSelected.svg"), QCoreApplication.translate("ManagerDock", "Remove from list"), self, triggered=self.remove, ) self.VManager.setColumnWidth(1, 250) self.VManager.setColumnWidth(2, 140) self.VManager.setColumnWidth(3, 600) self.VManager.setColumnWidth(4, 600) self.VManager.setColumnWidth(5, 130) self.VManager.verticalHeader().setDefaultAlignment(Qt.AlignHCenter) self.VManager.hideColumn(0) self.videoPlayable = [] self.videoIsStreaming = [] self.dtm_path = parser["GENERAL"]["DTM_file"] draw.setValues() self.setAcceptDrops(True)
def paintEvent(self, event): """ @type event: QPaintEvent @param event: @return: """ if not self.surface.isActive(): return self.painter = QPainter(self) self.painter.setRenderHint(QPainter.HighQualityAntialiasing) region = event.region() self.painter.fillRect(region.boundingRect(), self.brush) # Background painter color try: self.surface.paint(self.painter) SetImageSize(self.currentFrame().width(), self.currentFrame().height()) except Exception: None # Prevent draw on video if not started or finished if self.parent.player.position() == 0: self.painter.end() return self.gt = GetGCPGeoTransform() # Draw On Video draw.drawOnVideo(self.drawPtPos, self.drawLines, self.drawPolygon, self.drawMeasureDistance, self.drawMeasureArea, self.drawCesure, self.painter, self.surface, self.gt) # Draw On Video Object tracking test if self._interaction.objectTracking and self._isinit: frame = convertQImageToMat(self.currentFrame()) offset = self.surface.videoRect() # Update tracker result = resize(frame, (offset.width(), offset.height())) ok, bbox = self.tracker.update(result) # Draw bounding box if ok: # check negative values x = bbox[0] + offset.x() y = bbox[1] + offset.y() if vut.IsPointOnScreen(x, y, self.surface): self.painter.setPen(self.blue_Pen) self.painter.drawRect(x, y, bbox[2], bbox[3]) # Get Track object center xc = x + (bbox[2] / 2) yc = y + (bbox[3] / 2) p = QPoint(xc, yc) Longitude, Latitude, _ = vut.GetPointCommonCoords( p, self.surface) # Draw Rubber Band on canvas self.Track_Canvas_RubberBand.addPoint(QgsPointXY(Longitude, Latitude)) else: self._isinit = False del self.tracker # Magnifier Glass if self._interaction.magnifier and not self.dragPos.isNull(): draw.drawMagnifierOnVideo(self, self.dragPos, self.currentFrame(), self.painter) # Stamp On Video if self._interaction.stamp: draw.drawStampOnVideo(self, self.painter) self.painter.end() return