コード例 #1
0
ファイル: label_six.py プロジェクト: ScCcWe/See_Then_Use
    def forward_json(self):
        json_path = self.seleDir + '\\' + self.dir_list[
            self.dir_show_num].split('.', 2)[0] + '.json'

        if os.path.exists(json_path):
            with open(json_path, "r", encoding="utf-8") as f:
                data = json.load(f)
                # self.tempDict = data[0]['labels']
                # print(self.tempDict)
                # print(data)
                for shape in data:
                    points = shape['position']
                    label = shape['labels']
                    start_point = QtCore.QPointF(points[0]['x'],
                                                 points[0]['y'])  # 左上
                    end_point = QtCore.QPointF(points[1]['x'],
                                               points[1]['y'])  # 右下

                    two_points = Shape()
                    two_points.addPoint(start_point)
                    two_points.addPoint(end_point)
                    four_points = self.canvas.points_to_point_four(
                        copy.deepcopy(two_points))

                    with_points_shape = Shape()
                    with_points_shape.points = four_points
                    with_points_shape.close()  # 闭合最后一条线
                    self.canvas.shapes.append(with_points_shape)
                    self.canvas.shapes[-1].label = label
                self.canvas.repaint()
        else:
            self.tempDict = copy.deepcopy(self.exampleDict)
コード例 #2
0
 def addBox(self, x1y1, x2y2, name):
     shape = Shape(name)
     shape.points = [QPointF(x1y1[0], x2y2[1]), QPointF(*x2y2), QPointF(x2y2[0], x1y1[1], ), QPointF(*x1y1), ]
     shape.close()
     # self.deSelectShape()
     self.shapes.append(shape)
     shape.selected = True
     self.selectedShape = shape
     self.boundedShiftShape(shape)
     return shape
コード例 #3
0
    def makeBackRotatedShape(self, points, angle):
        canvas=Canvas()
        shape=Shape()
        xmax=points[2][0]
        xmin=points[0][0]
        ymax=points[2][1]
        ymin=points[0][1]

        shape.centerPoint=QPointF(( xmin+xmax)/2,(ymin+ymax)/2)
        shape.points= [QPointF(point[0],point[1]) for point in points]
        rotatedShapePoints=canvas.getRotatedShape(shape,angle)
        points= [(round(point.x(),0),round(point.y(),0)) for point in rotatedShapePoints]

        return points
コード例 #4
0
 def loadParams(self):
     try:
         params = load_from_json("params/param.json")
         shapes = params["shapes"]
         for sh in shapes:
             index, label, r = sh["id"], sh["label"], sh["rect"]
             generate_color = generateColorByText(label)
             shape = Shape(label=label,
                           line_color=generate_color,
                           paintLabel=True)
             # shape.fill = True
             shape.fill_color = generate_color
             shape.points = 4 * [QPoint()]
             shape.points[0] = QPointF(r[0], r[1])
             shape.points[1] = QPointF(r[0] + r[2], r[1])
             shape.points[2] = QPointF(r[0] + r[2], r[1] + r[3])
             shape.points[3] = QPointF(r[0], r[1] + r[3])
             shape.close()
             self.canvas.shapes.append(shape)
             self.addLabel(shape)
     except:
         pass