Example #1
0
    def imageHandling(self, pos):
        filePath = self.loadData()
        if filePath is None: return
        pointPath = filePath + ".txt"

        image = imageio.imread(filePath)
        shaped = image.shape

        tester = QtGui.QPixmap(filePath)

        if pos == 0:
            leftScene = Qt.QGraphicsScene()
            leftScene.addPixmap(tester)
            self.leftImg = image
            self.imagesLoaded[0] = True
            if self.imagesLoaded[0] and self.imagesLoaded[1]:
                self.enableButtons()
            self.leftTri = pointPath
            if os.path.isfile(pointPath):
                with open(pointPath) as file:
                    data = file.readlines()
                for point in data:
                    xc, yc = point.split()
                    self.pointAdd(leftScene,
                                  int(float(xc)) - 11.5,
                                  int(float(yc)) - 11.5, 0)
            leftScene.setSceneRect(0, 0, shaped[1], shaped[0])
            self.grphStart.setScene(leftScene)
            self.grphStart.fitInView(leftScene.sceneRect(),
                                     QtCore.Qt.KeepAspectRatio)
            self.grphStart.show()
        else:
            rightScene = Qt.QGraphicsScene()
            rightScene.addPixmap(tester)
            self.grphEnd.setScene(rightScene)
            self.grphEnd.show()
            self.rightImg = image
            self.imagesLoaded[1] = True
            if self.imagesLoaded[0] and self.imagesLoaded[1]:
                self.enableButtons()
            self.rightTri = pointPath
            if os.path.isfile(pointPath):
                with open(pointPath) as file:
                    data = file.readlines()
                for point in data:
                    xc, yc = point.split()
                    self.pointAdd(rightScene,
                                  int(float(xc)) - 11.5,
                                  int(float(yc)) - 11.5, 0)
            rightScene.setSceneRect(0, 0, shaped[1], shaped[0])
            self.grphEnd.setScene(rightScene)
            self.grphEnd.fitInView(rightScene.sceneRect(),
                                   QtCore.Qt.KeepAspectRatio)
            self.grphEnd.show()
 def _init_images(self):
     A, = 'A'.encode('ascii')
     gs = Qt.QGraphicsScene()
     sti = Qt.QGraphicsSimpleTextItem()
     sti.setFont(Qt.QFont('Courier', pointSize=24, weight=Qt.QFont.Bold))
     gs.addItem(sti)
     self.images = []
     for char in range(A, A + 26):
         for i in range(0, 10):
             text = bytes([char]).decode('ascii') + str(i)
             sti.setText(text)
             scene_rect_f = gs.itemsBoundingRect()
             scene_rect = Qt.QRect(
                 0,
                 0,
                 math.ceil(scene_rect_f.width()),
                 math.ceil(scene_rect_f.height()))
             gs.setSceneRect(scene_rect_f)
             buffer = numpy.empty((scene_rect.height(), scene_rect.width(), 4), dtype=numpy.uint8)
             buffer[:] = 255
             qimage = Qt.QImage(sip.voidptr(buffer.ctypes.data), scene_rect.size().width(), scene_rect.size().height(), Qt.QImage.Format_RGBA8888)
             qpainter = Qt.QPainter()
             qpainter.begin(qimage)
             qpainter.setRenderHint(Qt.QPainter.Antialiasing)
             qpainter.setRenderHint(Qt.QPainter.HighQualityAntialiasing)
             gs.render(qpainter)
             qpainter.end()
             self.images.append(Image(buffer.copy(), shape_is_width_height=False, name=text))
Example #3
0
 def __init__(self):
     super().__init__()
     uic.loadUi('unled.ui', self)
     self.setWindowTitle('Кружочки')
     self.scene = Qt.QGraphicsScene()
     self.graphicsView.setScene(self.scene)
     self.pushButton.clicked.connect(self.run)
Example #4
0
    def __init__(self) -> None:
        from qdarkstyle import load_stylesheet_pyqt5

        super().__init__()

        # logging

        logging.basicConfig(format='{asctime}: {levelname}: {message}',
                            style='{',
                            level=self.LOG_LEVEL)
        logging.Formatter.default_msec_format = '%s.%03d'

        # ???

        self.app = Qt.QApplication.instance()
        if self.DARK_THEME:
            self.app.setStyleSheet(
                self.patch_dark_stylesheet(load_stylesheet_pyqt5()))
            self.ensurePolished()

        self.display_scale = self.app.primaryScreen().logicalDotsPerInch(
        ) / self.BASE_PPI
        self.setWindowTitle('VSPreview')
        self.move(400, 0)
        self.setup_ui()

        # global

        self.clipboard = self.app.clipboard()
        self.external_args: List[str] = []
        self.script_path = Path()
        self.save_on_exit = True
        self.script_exec_failed = False

        # graphics view

        self.graphics_scene = Qt.QGraphicsScene(self)
        self.graphics_view.setScene(self.graphics_scene)
        self.opengl_widget = None
        if self.OPENGL_RENDERING:
            self.opengl_widget = Qt.QOpenGLWidget()
            self.graphics_view.setViewport(self.opengl_widget)

        self.graphics_view.wheelScrolled.connect(self.on_wheel_scrolled)

        # timeline

        self.timeline.clicked.connect(self.switch_frame)

        # init toolbars and outputs

        self.toolbars = Toolbars(self)
        self.main_layout.addWidget(self.toolbars.main)
        for toolbar in self.toolbars:
            self.main_layout.addWidget(toolbar)
            self.toolbars.main.layout().addWidget(toolbar.toggle_button)

        set_qobject_names(self)
        self.setObjectName('MainWindow')
    def __init__(self):
        super().__init__()

        self.scene = Qt.QGraphicsScene()

        self.graphics_view = Qt.QGraphicsView()
        self.graphics_view.setScene(self.scene)

        self.setCentralWidget(self.graphics_view)
Example #6
0
    def process_image(self):
        print("Model loading starts: ", datetime.datetime.now().time())
        model = load_model("D:/Nadenenko/POKAZ/model_31k_params_v2.h5")
        print("Model loading ends: ", datetime.datetime.now().time())
        image = cv2.imread(self.filename[0])
        height, width, channels = image.shape
        nearest_x = width // 256 * 256
        nearest_y = height // 128 * 128
        resized = cv2.resize(image, (nearest_x, nearest_y),
                             interpolation=cv2.INTER_AREA)
        dataset = np.zeros(shape=(int(resized.shape[0] / 128 *
                                      resized.shape[1] / 256), 128, 256, 3),
                           dtype=np.float32)
        #dataset = np.ndarray(shape=(int(resized.shape[0]/128*resized.shape[1]/256),
        #128, 256,3), dtype=np.float32)
        counter = 0
        print(dataset.size)
        for j in range(0, resized.shape[0], 128):
            for i in range(0, resized.shape[1], 256):
                cropped = np.array(resized[j:j + 128, i:i + 256])
                dataset[counter] = cropped
                counter += 1
        print("Preprocessing ended at: ", datetime.datetime.now().time())
        print(dataset.size)
        pred = model.predict(dataset)
        print("Preds done at: ", datetime.datetime.now().time())
        blank_image = np.zeros(shape=(resized.shape[0], resized.shape[1], 3))
        count = 0
        for j in range(0, resized.shape[0], 128):
            for i in range(0, resized.shape[1], 256):
                blank_image[j:j + 128, i:i + 256] = pred[count]
                count += 1
        #cv2.imwrite("D:/Nadenenko/POKAZ/from_gui.png", blank_image)
        blank_image = (blank_image * 255).round().astype(np.uint8)
        blank_image = cv2.cvtColor(blank_image, cv2.COLOR_BGR2GRAY)
        ret, thresh = cv2.threshold(blank_image, 50, 255, 0)
        contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE,
                                               cv2.CHAIN_APPROX_NONE)
        imgcopy = image.copy()
        z = cv2.fillPoly(imgcopy, contours, color=(250, 0, 0))
        #blank_image = cv2.imread("D:/Nadenenko/POKAZ/image1.png")
        #self.frame = QtGui.QImage(blank_image.data, blank_image.shape[0], blank_image.shape[1], 256*3, QtGui.QImage.Format_RGB888)
        #self.scene.addPixmap(QtGui.QPixmap.fromImage(self.frame))
        #self.scene.update()
        #self.graphicsView.setScene(self.scene)

        #image = cv2.imread("D:/Nadenenko/POKAZ/image1.png")
        #image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        height, width = blank_image.shape[:2]

        self.scene = Qt.QGraphicsScene()
        self.scene.clear()
        self.frame = QtGui.QImage(z.data, width, height,
                                  QtGui.QImage.Format_RGB888)
        self.scene.addPixmap(QtGui.QPixmap.fromImage(self.frame))
        self.scene.update()
        self.graphicsView.setScene(self.scene)
Example #7
0
 def __init__(self, viewWin, parent=None):
     Qt.QGraphicsView.__init__(self, parent)
     self.scene  = Qt.QGraphicsScene()
     self.grview = viewWin
     dir = "frames"
     self.listFiles = os.listdir(dir)
     self.timer = Qt.QTimer(self)
     self.n = 0
     self.timer.timeout.connect(self.on_timeout)
     self.timer.start(100)
     self.grview.show()
Example #8
0
	def __init__(self,parent,wii):
		screenGeom = QtWidgets.QDesktopWidget().screenGeometry()
		self.wdt = screenGeom.width()
		self.hgt = screenGeom.height()

		# Thanks, Pietro Pilolli!!
		QtWidgets.QWidget.__init__(self, parent,
			QtCore.Qt.FramelessWindowHint | 
			QtCore.Qt.WindowStaysOnTopHint  | 
			QtCore.Qt.X11BypassWindowManagerHint )
		self.setGeometry(0, 0, self.wdt, self.hgt)

		self.wii = wii
		self.setContentsMargins(0,0,0,0)

		sh = QtWidgets.QShortcut(self)
		sh.setKey("Esc")
		sh.activated.connect(self.close)

		sh = QtWidgets.QShortcut(self)
		sh.setKey("Down")
		sh.activated.connect(self.decCrosses)

		sh = QtWidgets.QShortcut(self)
		sh.setKey("Up")
		sh.activated.connect(self.incCrosses)

		self.scene = qt.QGraphicsScene()
		self.scene.setSceneRect(0,0, self.wdt, self.hgt)
		self.gv = QtWidgets.QGraphicsView()
		self.gv.setScene(self.scene)
		self.gv.setStyleSheet( "QGraphicsView { border-style: none; }" )
		self.layout = QtWidgets.QVBoxLayout()
		self.layout.setContentsMargins(0,0,0,0)
		self.layout.setSpacing(0)
		self.layout.addWidget(self.gv)
		self.setLayout(self.layout)

		self.CalibrationPoints = [
			[40,40], [self.wdt-40,40], [self.wdt-40,self.hgt-40], [40,self.hgt-40]
		]
		self.clock = clock()
		self.mutex = qt.QMutex()
		self.updateCalibrationPoints(0)

		self.wii.putCallbackIR(self.makeWiiCallback())
		self.wii.enable()

		self.timer = qt.QTimer(self)
		self.timer.setInterval(70)
		self.timer.timeout.connect(self.doWork)
		self.timer.start()

		self.wiiCallback.connect(self._wiiCallback)
 def __init__(self, viewWin, dirName, st, slider, parent=None):
     Qt.QGraphicsView.__init__(self, parent)
     self.scene = Qt.QGraphicsScene()
     self.grview = viewWin
     self.timer = Qt.QTimer(self)
     self.n = 0
     self.timer.timeout.connect(self.on_timeout)
     self.timer.start(300)
     self.grview.show()
     self.dirname = dirName
     self.st = st
     self.slider = slider
Example #10
0
 def browse_folder(self):  #выбор изображения + его отображение
     self.filename = QtWidgets.QFileDialog.getOpenFileName(
         self, "Выбор изображения", "D:/Nadenenko/POKAZ",
         "Image Files (*.png *.jpg *.PNG *.jpeg)")  #"Выберите изображение")
     if self.filename:
         print(self.filename[0])
         self.scene = Qt.QGraphicsScene()
         pixmap = QPixmap(self.filename[0])
         item = Qt.QGraphicsPixmapItem(pixmap)
         #self.graphicsView.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
         self.scene.addItem(item)
         self.graphicsView.setScene(self.scene)
Example #11
0
 def drawScreenGraphic(self):
     max_x = self.wiiScreen.geometry().width()
     max_y = self.wiiScreen.geometry().height()
     self.scene = qt.QGraphicsScene()
     self.scene.setSceneRect(0, 0, max_x, max_y)
     quad = QtGui.QPolygonF()
     for p in self.wii.calibrationPoints:
         x = max_x * p[0] / Wiimote.MAX_X
         y = max_y * (1 - old_div(float(p[1]), Wiimote.MAX_Y))
         quad.append(qt.QPointF(x, y))
     self.scene.addPolygon(quad)
     self.wiiScreen.setScene(self.scene)
     self.wiiScreen.show()
Example #12
0
 def blendImage(self):
     lt, rt = loadTriangles(self.leftTri, self.rightTri)
     morphingTime = Morpher(self.leftImg, lt, self.rightImg, rt)
     imgArray = morphingTime.getImageAtAlpha(
         float(self.txtAlpha.displayText()))
     imageio.imwrite("aq1234q.png", imgArray)
     newPath = os.getcwd() + "/aq1234q.png"
     tester = QtGui.QPixmap(newPath)
     testing = Qt.QGraphicsScene()
     tester = tester.scaled(self.grphBlended.size())
     testing.addPixmap(tester)
     self.grphBlended.setScene(testing)
     self.grphBlended.show()
     os.remove("aq1234q.png")
Example #13
0
	def __init__(self,parent,wii):
		QtWidgets.QWidget.__init__(self,parent)
		self.wii = wii
		self.ui = uic.loadUi("calibration2.ui",self)

		screenGeom = QtWidgets.QDesktopWidget().screenGeometry()
		wdt = screenGeom.width()-2
		hgt = screenGeom.height()-2

		viewport = [ self.ui.graphicsView.maximumViewportSize().width(), 
			self.ui.graphicsView.maximumViewportSize().height() 
		]

		self.scene = qt.QGraphicsScene()
		self.scene.setSceneRect(0,0, viewport[0], viewport[1])
		self.ui.graphicsView.setScene(self.scene)

		self.smallScreen = SmallScreen(viewport[0], viewport[1], self.scene)
		self.sandclock = SandClock(self.scene,old_div(viewport[0],2),old_div(viewport[1],2))

		self.CalibrationPoints = [
			[0,0], [wdt,0], [wdt,hgt], [0,hgt]
		]
		self.wiiPoints = []
		self.textMessages = [ 
			self.tr("TOP-LEFT"), 
			self.tr("TOP-RIGHT"), 
			self.tr("BOTTOM-RIGHT"), 
			self.tr("BOTTOM-LEFT") ]

		self.ui.label.setText(self.textMessages.pop(0))

		self.ui.but_cancel.clicked.connect(self.close)

		self.shcut1 = QtWidgets.QShortcut(self)
		self.shcut1.setKey("Esc")
		self.shcut1.activated.connect(self.close)

		self.mutex = qt.QMutex()

		self.wii.disable()
		self.wii.putCallbackIR(self.makeWiiCallback())
		self.wii.enable()

		self.timer = qt.QTimer(self)
		self.timer.setInterval(70)
		self.timer.timeout.connect(self.doWork)
		self.timer.start()

		self.wiiCallback.connect(self._wiiCallback)
 def _show_dot_graph(self, dot, name):
     import io
     import pygraphviz
     gs = Qt.QGraphicsScene(self)
     gv = GV(gs)
     im = Qt.QImage.fromData(
         pygraphviz.AGraph(string=dot, directed=True).draw(format='png',
                                                           prog='dot'),
         'png')
     gs.addPixmap(Qt.QPixmap.fromImage(im))
     gv.setDragMode(Qt.QGraphicsView.ScrollHandDrag)
     gv.setBackgroundBrush(Qt.QBrush(Qt.Qt.black))
     gv.setWindowTitle(name)
     gv.show()
     return gv
Example #15
0
    def plot(self):
        self.scene = Qt.QGraphicsScene()

        self.graphics_view = Qt.QGraphicsView()
        self.graphics_view.setScene(self.scene)

        self.setCentralWidget(self.graphics_view)
        diameter = randint(0, 300)
        rect = Qt.QRectF(0, 0, diameter, diameter)
        colorlist = [
            Qt.Qt.yellow, Qt.Qt.red, Qt.Qt.blue, Qt.Qt.green, Qt.Qt.black,
            Qt.Qt.gray, Qt.Qt.darkCyan
        ]
        color = colorlist[randint(0, 6)]

        self.scene.addEllipse(rect, Qt.QPen(color), Qt.QBrush(color))
    def __init__(self, viewWin, signal_dir, parent=None):
        Qt.QGraphicsView.__init__(self, parent)
        # 1. Window settings
        self.grview = viewWin
        self.signal_dir = signal_dir
        self.scene = Qt.QGraphicsScene()
        # print(viewWin.rect())

        # 2. Place the matplotlib figure
        # Todo: x_len is the length of the data
        # Todo: y_range should be adjust itself, x should be change with timer, interval should be adjust with video
        self.myFig = []
        self.myFig.append(
            MyFigureCanvas(fcode=fcode_left,
                           x_len=300,
                           y_range=[-1200, 1200],
                           interval=20,
                           signal_dir=self.signal_dir))
        self.myFig.append(
            MyFigureCanvas(fcode=fcode_right,
                           x_len=300,
                           y_range=[-1200, 1200],
                           interval=20,
                           signal_dir=self.signal_dir))
        # self.scene.setSceneRect(QtCore.QRectF(viewWin.rect()))
        # self.grview.fitInView(self.scene.itemsBoundingRect())

        self.layout = QHBoxLayout(self)
        self.layout.addWidget(self.myFig[0])
        self.layout.addWidget(self.myFig[1])
        self.grview.setLayout(self.layout)

        # self.grview.setScene(self.scene)
        # 3. Show
        # print(self.grview.mapToScene(self.grview.rect()).boundingRect())
        # self.grview.fitInView(self.grview.mapToScene(self.grview.rect()).boundingRect())
        self.grview.fitInView(0, 0, 115, 200)
        self.grview.show()
        return