def evaluate(self): if not self.videoPlaybackWidget.isOpened(): return qimg = misc.cvMatToQImage(self.cv_img) pixmapItem = QGraphicsPixmapItem(QPixmap.fromImage(qimg)) pixmapItem.setOpacity(0.2) self.frameBuffer.put(pixmapItem) self.frameBufferItemGroup.addToGroup(pixmapItem) if self.frameBuffer.qsize() > 10: item = self.frameBuffer.get() self.frameBufferItemGroup.removeFromGroup(item) """ if self.trackingPathGroup is not None: self.trackingPathGroup.setPoints(self.currentFrameNo) """ if self.handInputSystem is not None: self.handInputSystem.setPoints(self.currentFrameNo) if self.drawingFlag is True: mousePosition = QCursor().pos() mousePosition = self.inputGraphicsView.mapFromGlobal( mousePosition) mousePosition = self.inputGraphicsView.mapToScene( mousePosition) pos = [mousePosition.x(), mousePosition.y()] self.handInputSystem.appendPosition(pos, self.currentFrameNo)
def imgInit(self): self.cv_img = cv2.imread(os.path.join(sampleDataPath,"color_filter_test.png")) self.frameBuffer = Queue() self.frameBufferItemGroup = QGraphicsItemGroup() self.frameBufferItemGroup.hide() self.inputPixmapRenderScene = QGraphicsScene() self.inputPixmapRenderScene.addItem(self.frameBufferItemGroup) self.inputScene = QGraphicsScene() self.inputGraphicsView.setScene(self.inputScene) self.inputGraphicsView.resizeEvent = self.graphicsViewResized # self.inputScene.addItem(self.frameBufferItemGroup) qimg = misc.cvMatToQImage(self.cv_img) self.inputPixmap = QPixmap.fromImage(qimg) self.inputPixmapItem = QGraphicsPixmapItem(self.inputPixmap) self.inputScene.addItem(self.inputPixmapItem) self.rubberBand = QtWidgets.QRubberBand(QtWidgets.QRubberBand.Rectangle, self.inputGraphicsView) self.inputGraphicsView.mousePressEvent = self.inputGraphicsViewMousePressEvent self.inputGraphicsView.mouseMoveEvent = self.inputGraphicsViewMouseMoveEvent self.inputGraphicsView.mouseReleaseEvent = self.inputGraphicsViewMouseReleaseEvent self.inputGraphicsView.viewport().installEventFilter(self) self.inputGraphicsView.setMouseTracking(True) self.overlayScene = QGraphicsScene() self.inputGraphicsView.setOverlayScene(self.overlayScene) self.zoomedGraphicsView.setScene(self.inputScene) self.zoomedGraphicsView.setOverlayScene(self.overlayScene)
def imgInit(self): self.cv_img = cv2.imread( os.path.join(sampleDataPath, "color_filter_test.png")) self.frameBuffer = Queue() self.frameBufferItemGroup = QGraphicsItemGroup() self.frameBufferItemGroup.hide() self.inputPixmapRenderScene = QGraphicsScene() self.inputPixmapRenderScene.addItem(self.frameBufferItemGroup) self.inputScene = QGraphicsScene() self.inputGraphicsView.setScene(self.inputScene) self.inputGraphicsView.resizeEvent = self.graphicsViewResized # self.inputScene.addItem(self.frameBufferItemGroup) qimg = misc.cvMatToQImage(self.cv_img) self.inputPixmap = QPixmap.fromImage(qimg) self.inputPixmapItem = QGraphicsPixmapItem(self.inputPixmap) self.inputScene.addItem(self.inputPixmapItem) self.inputGraphicsView.mousePressEvent = self.inputGraphicsViewMousePressEvent self.inputGraphicsView.mouseMoveEvent = self.inputGraphicsViewMouseMoveEvent self.inputGraphicsView.mouseReleaseEvent = self.inputGraphicsViewMouseReleaseEvent self.inputGraphicsView.keyPressEvent = self.inputGraphicsViewKeyPressEvent self.inputGraphicsView.keyReleaseEvent = self.inputGraphicsViewKeyReleaseEvent self.inputGraphicsView.wheelEvent = self.inputGraphicsViewwheelEvent #self.inputGraphicsView.focusInEvent = self.inputGraphicsViewfocusInEvent self.inputGraphicsView.viewport().installEventFilter(self) self.inputGraphicsView.setMouseTracking(True) self.overlayScene = QGraphicsScene() self.inputGraphicsView.setOverlayScene(self.overlayScene)
def evaluate(self): if not self.videoPlaybackWidget.isOpened(): return qimg = misc.cvMatToQImage(self.cv_img) pixmapItem = QGraphicsPixmapItem(QPixmap.fromImage(qimg)) pixmapItem.setOpacity(0.2) self.frameBuffer.put(pixmapItem) self.frameBufferItemGroup.addToGroup(pixmapItem) if self.frameBuffer.qsize() > 10: item = self.frameBuffer.get() self.frameBufferItemGroup.removeFromGroup(item) """ if self.trackingPathGroup is not None: self.trackingPathGroup.setPoints(self.currentFrameNo) """ if self.handInputSystem is not None: self.handInputSystem.setPoints(self.currentFrameNo) if self.drawingFlag is True: mousePosition = QCursor().pos() mousePosition = self.inputGraphicsView.mapFromGlobal(mousePosition) mousePosition = self.inputGraphicsView.mapToScene(mousePosition) pos = [mousePosition.x(),mousePosition.y()] self.handInputSystem.appendPosition(pos,self.currentFrameNo)
def updateInputGraphicsView(self): if self.inputPixmapItem is not None: self.inputScene.removeItem(self.inputPixmapItem) if self.filter is not None and hasattr(self.filter, "resize_flag") and self.filter.resize_flag: qimg = misc.cvMatToQImage(cv2.pyrDown(self.cv_img)) else: qimg = misc.cvMatToQImage(self.cv_img) pixmap = QPixmap.fromImage(qimg) self.inputPixmapItem = QGraphicsPixmapItem(pixmap) rect = QtCore.QRectF(pixmap.rect()) self.inputScene.setSceneRect(rect) self.inputScene.addItem(self.inputPixmapItem) self.inputGraphicsView.viewport().update() self.inputGraphicsViewResized()
def imgInit(self): self.cv_img = cv2.imread(os.path.join(sampleDataPath,"color_filter_test.png")) self.inputScene = QGraphicsScene() self.inputGraphicsView.setScene(self.inputScene) self.inputGraphicsView.resizeEvent = self.inputGraphicsViewResized qimg = misc.cvMatToQImage(self.cv_img) self.inputPixMap = QPixmap.fromImage(qimg) self.inputPixMapItem = QGraphicsPixmapItem(self.inputPixMap) self.inputScene.addItem(self.inputPixMapItem)
def evaluateSelectedBlock(self, update=True): self.im_output = None frame = self.blocklyWebView.page().mainFrame() text = frame.evaluateJavaScript("Apps.getCodeFromSelectedBlock();") self.reflectSelectedBlockStateIntoUI() if text == "" or text is None: text = frame.evaluateJavaScript("Apps.getCodeFromWorkspace();") if text is None: return False xmlText = frame.evaluateJavaScript("Apps.getBlockData();") text = self.parseToClass(text) logger.debug("Generated Code: {0}".format(text)) textHash = hashlib.md5(text.encode()) if self.filterClassHash != textHash: self.filterClassHash = textHash try: exec(text, globals()) self.filter = filterOperation(self.cv_img) self.filter.fgbg = self.fgbg except Exception as e: logger.debug("Block Evaluation Error: {0}".format(e)) return False try: self.im_output = self.filter.filterFunc(self.cv_img) except Exception as e: logger.debug("Filter execution Error: {0}".format(e)) return False if update: self.outputScene.clear() try: qimg = misc.cvMatToQImage(self.im_output) self.outputPixmap = QPixmap.fromImage(qimg) except: pass rect = QtCore.QRectF(self.outputPixmap.rect()) self.outputScene.setSceneRect(rect) self.outputScene.addPixmap(self.outputPixmap) self.outputGraphicsView.viewport().update() self.outputGraphicsViewResized() return True
def imgInit(self): self.cv_img = cv2.imread( os.path.join(sampleDataPath, "color_filter_test.png")) self.inputScene = QGraphicsScene() self.inputGraphicsView.setScene(self.inputScene) self.inputGraphicsView.resizeEvent = self.inputGraphicsViewResized qimg = misc.cvMatToQImage(self.cv_img) self.inputPixMap = QPixmap.fromImage(qimg) self.inputPixMapItem = QGraphicsPixmapItem(self.inputPixMap) self.inputScene.addItem(self.inputPixMapItem)
def updateInputGraphicsView(self): self.inputScene.removeItem(self.inputPixMapItem) qimg = misc.cvMatToQImage(self.cv_img) self.inputPixMap = QPixmap.fromImage(qimg) rect = QtCore.QRectF(self.inputPixMap.rect()) self.inputScene.setSceneRect(rect) self.inputPixMapItem = QGraphicsPixmapItem(self.inputPixMap) self.inputScene.addItem(self.inputPixMapItem) self.inputGraphicsView.viewport().update() self.inputGraphicsViewResized()
def updateInputGraphicsView(self): self.inputScene.removeItem(self.inputPixmapItem) qimg = misc.cvMatToQImage(self.cv_img) self.inputPixmap = QPixmap.fromImage(qimg) p = QPainter(self.inputPixmap) sourceRect = self.inputPixmapRenderScene.sceneRect() self.inputPixmapRenderScene.render(p, QRectF(sourceRect), QRectF(sourceRect), QtCore.Qt.IgnoreAspectRatio) self.inputPixmapItem = QGraphicsPixmapItem(self.inputPixmap) rect = QtCore.QRectF(self.inputPixmap.rect()) self.inputScene.setSceneRect(rect) self.inputScene.addItem(self.inputPixmapItem) self.inputGraphicsView.viewport().update() self.graphicsViewResized()
def updateOutputGraphicsView(self): self.outputScene.clear() try: qimg = misc.cvMatToQImage(self.im_output) self.outputPixmap = QPixmap.fromImage(qimg) except: return False rect = QtCore.QRectF(self.outputPixmap.rect()) self.outputScene.setSceneRect(rect) self.outputScene.addPixmap(self.outputPixmap) self.outputGraphicsView.viewport().update() self.outputGraphicsViewResized() return True
def evaluate(self): if not self.videoPlaybackWidget.isOpened(): return qimg = misc.cvMatToQImage(self.cv_img) pixmapItem = QGraphicsPixmapItem(QPixmap.fromImage(qimg)) pixmapItem.setOpacity(0.2) self.frameBuffer.put(pixmapItem) self.frameBufferItemGroup.addToGroup(pixmapItem) if self.frameBuffer.qsize() > 10: item = self.frameBuffer.get() self.frameBufferItemGroup.removeFromGroup(item) if self.trackingPathGroup is not None: self.trackingPathGroup.setPoints(self.currentFrameNo) if self.movableArrowGroup is not None: self.movableArrowGroup.setPositions(self.currentFrameNo) for k, v in self.line_item_dict.items(): v.setPolyline(self.currentFrameNo)