赞
踩
使用了几天,发现网上相关的资料竟然没有,自己摸索写下来记录过程
声明我是Ubuntu 22.04 LTS用户,没错,22年4月发布的最新版本的,警告!不要用这么新的版本,不然坑就在前面等着你
安装的话如果你不是我这个环境,非常容易,下面的命令就能直接安装成功
pip install labelme
当然,我这个环境只能用anaconda安装了,网上这种教程很多,这里就贴一下anacoda的下载地址https://www.anaconda.com/,官网上安装的教程非常可靠!!!!
conda install labelme
当你进入了labelme 5.0.1,作为一个中文软件用户,当然是要用中文界面,网上搜不到干货,自己动手,这个代码在这个路径下/home/mac/anaconda3/lib/python3.9/site-packages/labelme/app.py这里的mac是我的用户名,windows用户的话区找你的ananconda安装目录,代码修改如下:
- self.flag_dock = self.flag_widget = None
- self.flag_dock = QtWidgets.QDockWidget(self.tr("分类标签"), self)
- self.flag_dock.setObjectName("Flags")
- self.flag_widget = QtWidgets.QListWidget()
- if config["flags"]:
- self.loadFlags({k: False for k in config["flags"]})
- self.flag_dock.setWidget(self.flag_widget)
- self.flag_widget.itemChanged.connect(self.setDirty)
-
- self.labelList.itemSelectionChanged.connect(self.labelSelectionChanged)
- self.labelList.itemDoubleClicked.connect(self.editLabel)
- self.labelList.itemChanged.connect(self.labelItemChanged)
- self.labelList.itemDropped.connect(self.labelOrderChanged)
- self.shape_dock = QtWidgets.QDockWidget(
- self.tr("标注列表"), self
- )
- self.shape_dock.setObjectName("Labels")
- self.shape_dock.setWidget(self.labelList)
-
- self.uniqLabelList = UniqueLabelQListWidget()
- self.uniqLabelList.setToolTip(
- self.tr(
- "Select label to start annotating for it. "
- "Press 'Esc' to deselect."
- )
- )
- if self._config["labels"]:
- for label in self._config["labels"]:
- item = self.uniqLabelList.createItemFromLabel(label)
- self.uniqLabelList.addItem(item)
- rgb = self._get_rgb_by_label(label)
- self.uniqLabelList.setItemLabel(item, label, rgb)
- self.label_dock = QtWidgets.QDockWidget(self.tr("分割标签"), self)
- self.label_dock.setObjectName("Label list")
- self.label_dock.setWidget(self.uniqLabelList)
-
- self.fileSearch = QtWidgets.QLineEdit()
- self.fileSearch.setPlaceholderText(self.tr("Search Filename"))
- self.fileSearch.textChanged.connect(self.fileSearchChanged)
- self.fileListWidget = QtWidgets.QListWidget()
- self.fileListWidget.itemSelectionChanged.connect(
- self.fileSelectionChanged
- )
- fileListLayout = QtWidgets.QVBoxLayout()
- fileListLayout.setContentsMargins(0, 0, 0, 0)
- fileListLayout.setSpacing(0)
- fileListLayout.addWidget(self.fileSearch)
- fileListLayout.addWidget(self.fileListWidget)
- self.file_dock = QtWidgets.QDockWidget(self.tr("文件列表"), self)
- self.file_dock.setObjectName("Files")
- fileListWidget = QtWidgets.QWidget()
- fileListWidget.setLayout(fileListLayout)
- self.file_dock.setWidget(fileListWidget)
-
- self.zoomWidget = ZoomWidget()
- self.setAcceptDrops(True)
-
- self.canvas = self.labelList.canvas = Canvas(
- epsilon=self._config["epsilon"],
- double_click=self._config["canvas"]["double_click"],
- num_backups=self._config["canvas"]["num_backups"],
- )
- self.canvas.zoomRequest.connect(self.zoomRequest)
-
- scrollArea = QtWidgets.QScrollArea()
- scrollArea.setWidget(self.canvas)
- scrollArea.setWidgetResizable(True)
- self.scrollBars = {
- Qt.Vertical: scrollArea.verticalScrollBar(),
- Qt.Horizontal: scrollArea.horizontalScrollBar(),
- }
- self.canvas.scrollRequest.connect(self.scrollRequest)
-
- self.canvas.newShap
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。