精华内容
下载资源
问答
  • 在使用LabelImg标注图片后,我想知道后面应该怎样使用这些标注过的结果进行图像识别?</p>
  • 先在电脑上安装labelImg软件,具体教程看我写的这篇文章:墨明棋妙:Win10下安装LabelImg以及使用(绝对是全网最简单的教程)​zhuanlan....按快捷键R对图片进行标注在那个小窗口写上图片的标签,选择OK,然后点击...

    先在电脑上安装labelImg软件,具体教程看我写的这篇文章:

    墨明棋妙:Win10下安装LabelImg以及使用(绝对是全网最简单的教程)zhuanlan.zhihu.com

    然后在anaconda prompt输入labelImg直接打开软件,如下图:

    a8b19af1b8133661d61656c588799d15.png

    打开需要标注的图片目录:

    bf11ca230a0dc99669cd2f740e40a1b8.png

    Crtl+R选择标注好的图片默认保存的地址文件夹。

    按快捷键R对图片进行标注

    1d00e8f4bfe930a5135248b840750ab0.png

    在那个小窗口写上图片的标签,选择OK,然后点击左边Tab的save按钮就可以保存图片了。

    一般标注好的图片会自动编号保存到文件夹。

    然后点击next对下一图片进行标注

    15bd804e347cb2614ef297379728cb77.png

    快捷键

    按键 功能

    Ctrl + u 加载目录中的所有图像,鼠标点击Open dir同功能

    Ctrl + s 保存

    Ctrl + r 更改默认注释目录(xml文件保存的地址)

    Ctrl + s 保存

    Ctrl + d 复制当前标签和矩形框

    space 将当前图像标记为已验证

    w 创建一个矩形框

    d 下一张图片

    a 上一张图片

    del 删除选定的矩形框

    展开全文
  • 采集验证码图片,可以直接使用Python进行批量下载,下载完之后,就需要下载下来的验证码图片进行标注。一般情况下,一个验证码图片的文件名就是图片中验证码的实际字符串。在不借助工具的情况下,我们验证码图片...

    做验证码图片的识别,不论是使用传统的ORC技术,还是使用统计机器学习或者是使用深度学习神经网络,都少不了从网络上采集大量相关的验证码图片做数据集样本来进行训练。

    采集验证码图片,可以直接使用Python进行批量下载,下载完之后,就需要对下载下来的验证码图片进行标注。一般情况下,一个验证码图片的文件名就是图片中验证码的实际字符串。

    在不借助工具的情况下,我们对验证码图片进行上述标注的流程是:

    • 1、打开图片所在的文件夹;
    • 2、选择一个图片;
    • 3、鼠标右键重命名;
    • 4、输入正确的字符串;
    • 5、保存

    州的先生亲身体验,一个验证码完成数据的标注,大概需要10到20秒。大量的时间浪费在了重复地进行鼠标右键重命名操作了。于是,使用Qt的Python封装包——PyQt5,编写了一个小工具,方便进行验证码图片的数据标注,节省时间,珍惜生命。

    程序的运行如下动图所示:

    e0425b6006a3594999b3afae7928cae5.gif

    下面我们来了解一下如何编写这个验证码图片数据标注程序。

    文章目录

    3aa826d327f829f739732544946bba1a.png

    一、构建图形界面

    首先,我们来构建一个图形界面。这个图形界面里面包含了一个图像展示控件、一个文本输入控件、四个按钮控件。基于此,我们选择三个布局来排列图形界面的布局。图形界面窗口中的核心控件是一个QWidget(),其布局层设置为网格布局QGridLayout()。在其中放置三个控件:图像展示控件QWidget()、文本输入控件QLineText()、四个按钮组QWidget()。

    同时,图像展示控件QWidget()用水平布局层QHBoxLayout()包含一个QLabel()标签来占位;按钮组控件QWidget()用一个垂直布局层QVBoxLayout()将4个按钮控件QPushButton()添加进去。最后,代码如下所示:

    class ImgTag(QtWidgets.QMainWindow):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("验证码图片标注 州的先生 zmister.com")
            # 主控件和主控件布局
            self.main_widget = QtWidgets.QWidget()
            self.main_layout = QtWidgets.QGridLayout()
            self.main_widget.setLayout(self.main_layout)
    
            # 图像展示控件
            self.img_widget = QtWidgets.QWidget()
            self.img_layout = QtWidgets.QHBoxLayout()
            self.img_widget.setLayout(self.img_layout)
            # 标签占位
            self.img_view = QtWidgets.QLabel("请选择一个文件夹!")
            self.img_view.setAlignment(QtCore.Qt.AlignCenter)
            self.img_layout.addWidget(self.img_view)
    
            # 图像标注控件
            self.img_input = QtWidgets.QLineEdit()
    
            # 控制按钮控件
            self.opera_widget = QtWidgets.QWidget()
            self.opera_layout = QtWidgets.QVBoxLayout()
            self.opera_widget.setLayout(self.opera_layout)
            # 各个按钮
            self.select_img_btn = QtWidgets.QPushButton("选择目录")
            self.previous_img_btn = QtWidgets.QPushButton("上一张")
            self.previous_img_btn.setEnabled(False)
            self.next_img_btn = QtWidgets.QPushButton("下一张")
            self.next_img_btn.setEnabled(False)
            self.save_img_btn = QtWidgets.QPushButton("保存")
            self.save_img_btn.setEnabled(False)
            # 添加按钮到布局
            self.opera_layout.addWidget(self.select_img_btn)
            self.opera_layout.addWidget(self.previous_img_btn)
            self.opera_layout.addWidget(self.next_img_btn)
            self.opera_layout.addWidget(self.save_img_btn)
    
            # 将控件添加到主控件布局层
            self.main_layout.addWidget(self.img_widget,0,0,4,4)
            self.main_layout.addWidget(self.opera_widget,0,4,5,1)
            self.main_layout.addWidget(self.img_input,4,0,1,4)
    
            # 状态栏
            self.img_total_current_label = QtWidgets.QLabel()
            self.img_total_label = QtWidgets.QLabel()
            self.statusBar().addPermanentWidget(self.img_total_current_label)
            self.statusBar().addPermanentWidget(self.img_total_label, stretch=0)  # 在状态栏添加永久控件
    
            # 设置UI界面核心控件
            self.setCentralWidget(self.main_widget)

    运行上述代码,我们可以得到以下如下图所示的图形界面:

    d916948a05bd7b50d6307e00dba0b0bb.png

    下面,我们为这个静态的图形界面添加事件响应。

    二、选择目录读取文件

    首先,我们来实现“选择目录”按钮的功能。这个按钮点击之后,需要打开文件夹选择框,然后在选择一个文件夹之后,自动读取文件夹内的图片文件,并将第一张图片显示到图形展示控件上。

    在这里,我们通过QFileDialog.getExistingDirectory()来实现调用文件夹对话框,其会返回所选择文件夹路径的字符串。然后通过os模块的listdir()方法,获取文件夹下所有的文件,对其进行遍历,提取出图片文件,将这些图片文件添加到一个新的列表中。代码如下所示:

    # 选择目录按钮
    def select_img_click(self):
        self.dir_path = QtWidgets.QFileDialog.getExistingDirectory(self,'选择文件夹')
        # print(self.dir_path)
        dir_list = os.listdir(self.dir_path)
        img_list = []
        for dir in dir_list:
            suffix_list = ['jpg','png','jpeg','bmp',]
            if dir.split('.')[-1].lower() in suffix_list:
                img_list.append(dir)

    接着,我们继续遍历这个列表,生成一个图片的索引字典,用于记录每个图片的顺序信息,方便进行上一张、下一张按钮的切换操作。

    # 图像文件索引字典
    self.img_index_dict = dict()
    for i,d in enumerate(img_list):
        self.img_index_dict[i] = d
    self.current_index = 0 # 当前的图像索引
    # 当前图片文件路径
    self.current_filename = os.path.join(
        self.dir_path,self.img_index_dict[self.current_index]
    )

    然后,借助QImage()类实例化一个Qt的图像,在图像占位标签中通过setPixmap设置显示图像。

    # 实例化一个图像
    image = QtGui.QImage(self.current_filename)
    self.img_width = image.width() # 图片宽度
    self.img_height = image.height() # 图片高度
    self.img_scale = 1
    self.image = image.scaled(self.img_width*self.img_scale,self.img_height*self.img_scale)
    
    # 在img_view控件中显示图像
    self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image))

    接着再设置文本输入框的内容、获取文本输入框的焦点并全选文本输入框的内容:

    # 设置img_input控件文本内容
    self.img_input.setText(self.current_text)
    self.img_input.setFocus() # 获取输入框焦点
    self.img_input.selectAll() # 全选文本

    最后在状态栏设置图片数量的信息,包括当前图片和图片总数:

    # 设置状态栏 图片数量信息
    self.img_total_current_label.setText("{}".format(self.current_index+1))
    self.img_total_label.setText("/{total}".format(total=len(img_list)))

    以上这些代码都是写在select_img_click()方法操作。在完成select_img_click()这个方法的编写后,我们将其绑定到“选择目录”的点击信号上:

    self.select_img_btn.clicked.connect(self.select_img_click)

    这样,就实现了选择目录,并显示目录中的第一张图片的功能。效果如下动图所示:

    5471668e532bd39b50b82f7559c07610.gif

    下面,我们再来实现下一张图片的按钮功能

    三、切换下一张图片

    要切换下一张图片,我们首先需要将当前显示的图片重命名为文本输入框中的内容:

    # 下一张图片
    def next_img_click(self):
        # 修改当前图像文件名
        new_tag = self.img_input.text() # 获取当前输入框内容
        current_img = self.img_index_dict[self.current_index] # 获取当前图片名称
        try:
            os.rename(
                os.path.join(self.dir_path,current_img),
                os.path.join(self.dir_path,new_tag+'.'+current_img.split('.')[-1])
            ) # 修改文件名
            self.img_index_dict[self.current_index] = new_tag+'.'+current_img.split('.')[-1]
        except FileExistsError as e: # 同名文件异常
            print(repr(e))
            QtWidgets.QMessageBox.information(
                self, '提示', '已存在同名文件!',
                QtWidgets.QMessageBox.Ok
            )

    接下来,将图片当前索引变量值加1,通过这个索引值获取到下一张图片的文件名,再按照之前的方式将其读取为图像并显示在标签占位控件上,同时更新状态栏的信息:

    # 当前图像索引加1
    self.current_index += 1
    if self.current_index in self.img_index_dict.keys():
        # 当前图片文件路径
        self.current_filename = os.path.join(
            self.dir_path, self.img_index_dict[self.current_index]
        )
        # 实例化一个图像
        image = QtGui.QImage(self.current_filename)
        self.img_width = image.width()  # 图片宽度
        self.img_height = image.height()  # 图片高度
        self.img_scale = 1
        self.image = image.scaled(self.img_width * self.img_scale, self.img_height * self.img_scale)
    
        # 在img_view控件中显示图像
        self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image))
        # 当前文件名
        self.current_text = self.img_index_dict[self.current_index].split('.')[0]
        # 设置img_input控件文本内容
        self.img_input.setText(self.current_text)
        self.img_input.setFocus()  # 获取输入框焦点
        self.img_input.selectAll()  # 全选文本
    
        # 设置状态栏
        self.img_total_current_label.setText(str(self.current_index+1))
    else:
        self.current_index -=1
        QtWidgets.QMessageBox.information(
            self,'提示','所有图片已标注完!',
            QtWidgets.QMessageBox.Ok
        )

    这样,调用next_img_click()方法,我们就可以切换下一张图片。我们将其绑定在“下一张”按钮、“保存”按钮和文本输入框的回车信号上,就可以实现点击“下一张”按钮、“保存”按钮或是在标注完一个数据后直接回车就能切换到下一张图片:

    self.next_img_btn.clicked.connect(self.next_img_click)
    self.save_img_btn.clicked.connect(self.next_img_click)
    self.img_input.returnPressed.connect(self.next_img_click) # 回车事件绑定

    这样,切换下一张图片的功能也实现了,其效果如下动图所示:

    66ccff9a447c0e9222f669de6f9ae80f.gif

    四、切换上一张图片

    有时候我们需要返回前面标注的图片,这时候切换上一张图片的功能也是很有必要的。切换上一张图片的逻辑与切换下一张图片的逻辑基本一致,只是需要将图像的索引值减1:

    # 上一张图片
    def previous_img_click(self):
        # 修改当前图像文件名
        new_tag = self.img_input.text()  # 获取当前输入框内容
        current_img = self.img_index_dict[self.current_index]  # 获取当前图片名称
        try:
            os.rename(
                os.path.join(self.dir_path, current_img),
                os.path.join(self.dir_path, new_tag + '.' + current_img.split('.')[-1])
            )  # 修改文件名
            self.img_index_dict[self.current_index] = new_tag + '.' + current_img.split('.')[-1]
        except FileExistsError as e:  # 同名文件异常
            print(repr(e))
            QtWidgets.QMessageBox.information(
                self, '提示', '已存在同名文件!',
                QtWidgets.QMessageBox.Ok
            )
    
        # 当前图像索引加1
        self.current_index -= 1
        if self.current_index in self.img_index_dict.keys():
            # 当前图片文件路径
            self.current_filename = os.path.join(
                self.dir_path, self.img_index_dict[self.current_index]
            )
            # 实例化一个图像
            image = QtGui.QImage(self.current_filename)
            self.img_width = image.width()  # 图片宽度
            self.img_height = image.height()  # 图片高度
            self.img_scale = 1
            self.image = image.scaled(self.img_width * self.img_scale, self.img_height * self.img_scale)
    
            # 在img_view控件中显示图像
            self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image))
            # 当前文件名
            self.current_text = self.img_index_dict[self.current_index].split('.')[0]
            # 设置img_input控件文本内容
            self.img_input.setText(self.current_text)
            self.img_input.setFocus()  # 获取输入框焦点
            self.img_input.selectAll()  # 全选文本
    
            # 设置状态栏
            self.img_total_current_label.setText(str(self.current_index + 1))
        else:
            self.current_index += 1
            QtWidgets.QMessageBox.information(
                self, '提示', '图片列表到顶了!',
                QtWidgets.QMessageBox.Ok
            )

    可以看到,这和切换下一张图片的代码几乎是一致的,因为其核心逻辑本来就是一样的,我们将“上一张”按钮的点击信号绑定在这个方法上,就可以实现切换上一张图片的功能了:

    self.previous_img_btn.clicked.connect(self.previous_img_click)

    其效果如下动图所示:

    8286c23ccaad76c3bc3dd65e73699d09.gif

    五、图片缩放

    到这里,我们的验证码图片数据标注程序基本上已经完成了,但是突然发现,有些验证码图片很变态,它的干扰线和干扰点简直让人无法看清它到底是什么字符,这样的情况下可能需要把图片放大或缩小一点,方便我们确认验证码图片上的信息,所以,我们的程序还需要一个图片缩放功能。最终,我们实现的效果是,按住Ctrl+鼠标滚轮,滚轮向上,图片放大,滚轮向下,图片缩小。这是通过重写鼠标滚轮事件来实现的:

    # 重写鼠标滚轮事件
    def wheelEvent(self, event):
        # 如果按住了Ctrl
        if event.modifiers() == QtCore.Qt.ControlModifier:
            try:
                delta = event.angleDelta().y()
                if delta > 0:
                    self.img_scale += 0.25
                    self.image_scaled = self.image.scaled(self.img_width * self.img_scale, self.img_height * self.img_scale)
                    self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image_scaled))
                    self.statusBar().showMessage("当前图片缩放比例为:{}%".format(self.img_scale * 100))
                elif delta < 0:
                    if self.img_scale > 0.25:
                        self.img_scale -= 0.25
                        self.image_scaled = self.image.scaled(self.img_width * self.img_scale, self.img_height * self.img_scale)
                        self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image_scaled))
                        self.statusBar().showMessage("当前图片缩放比例为:{}%".format(self.img_scale * 100))
            except Exception as e:
                print(traceback.print_exc())
                print(repr(e))

    最后,这样图片缩放的功能也实现了,其效果如下所示:

    1919b682b2757c79e3302c6717f68365.gif

    六、程序完整代码

    以上,我们的图片验证码数据标注程序就完全编写好了,基于此,我们可以进一步使用Pyinstaller等打包工具,将其打包为二进制的可执行文件,方便传播使用。

    展开全文
  • 然后用sketch截图里的各个控件进行标注,请问你是怎么做到的?打开你的sketch文件里标注的内容,像是某个插件的自动输出,然后手工修改部分内容加以完善。可我安装了sketch,搜了些...
  • 对图片添加标注和文字是科研图片处理中一个非常基础的操作,Image J也可以进行这方面的处理。01利用描边和填充添加在绘制好选区(几乎只会用到箭头工具)之后选择:Edit-Draw(描边,快捷键Ctrl+D),使用事先设定好的...

    对图片添加标注和文字是科研图片处理中一个非常基础的操作,Image J也可以进行这方面的处理。

    b2a470c9650eee580e29d652ae5e320b.png

    01利用描边和填充添加

    在绘制好选区(几乎只会用到箭头工具)之后选择:Edit-Draw(描边,快捷键Ctrl+D),使用事先设定好的颜色和粗细进行绘制;也可以填充设定好的颜色Edit-Fill(填充,快捷键Ctrl+F)。

    文字工具也是如此,在输入文字之后,选择Edit-Draw,可以盖印到原来图片上。

    534aeb067d8f687c0ddcdc6e284db36a.png

    如果要修改颜色、字体、粗细等绘图属性,可以选择Edit-Option-Colors/Fonts/Line Width…进行修改。

    480d32b19c7ca90fdc7dc4e031bd3d78.png

    中一些选区工具如Arrow Tools(箭头工具)可以直接双击该工具修改其绘图属性。

    4e3c2dabec1d2d13527ff5a11bfa36f4.png

    颜色的修改还可以双击工具栏中的Color Picker(拾色器)来修改:

    f543409c2e103b2546b1102328a0deea.png

    当然,Fiji也提供简单的绘图工具,包括Pencil Tool(铅笔工具)、Paintbrush Tool(画笔工具)、Flood Fill Tool(填充工具)和Overlay Brush Tool(浮层画笔工具),可以直接或者以Overlay的形式在图片上面进行涂鸦,但是科研图片处理中基本用不到。每个工具都可以双击进行属性修改。

    5a25ce01808ff11920ba6964ca55561c.png

    02 利用ROI Manager添加

    也可以将标注(文字和箭头等)以选区的形式保存到选区管理器(ROI Manager)里面,勾选Show All,然后利用拼合图层(Flatten)来盖印生成新的图片。注意:会新生成一个添加了标注的图片

    da542b75876d1aa74288868722ef4b52.png

    03 利用Overlay图层添加

    在利用选区工具和文字工具做好标注之后,还可以使用Image-Overlay-Add Selection(快捷键是Ctrl+B),来建立Overlay图层,最后直接导出成非tif格式图片,获得标注后的图片。

    或者建立Overlay图层之后,利用ROI Manager的拼合图层(Flatten)在本图层盖印,再导出成各种位图格式。

    利用Overlay图层和上一种方法不一样的地方在于,标注会直接添加到原来图片上面,而不是新建一个添加了标注的图片。

    3fe9bce5b5ffbf36b69b5c35a1e825c3.png

    所谓Overlay,可以看做是一种透明的悬浮图层,悬浮在你要处理的图片上方,处理的时候可以看到,保存成tif格式图片的时候会写到文件的header里面,你看不到;保存成其他没有图层的位图(比如jpg、png)格式的时候,你可以看到。

    相关阅读:

    Image J的插件增强版Fiji,了解一下?

    Image J基本操作:万丈高楼平地起,骚操作还要基础牢

    Image J基础操作:选区和选区管理器

    展开全文
  • 使用jquery一张图片进行标注, 这张图片可以移动缩放, 在图片变化过程中, 标注相对页面不是静止的,是要跟着图片移动的,其在图片的坐标不会发生变化。 图片的缩放可以做出来, 静态图片或百度图片的标注也...
  • 回答:在Word中绘图缪陈海使用Word作文档时,经常需要用到其绘图功能,这里介绍几种在Word中绘图的方法,希望大家有所帮助。一、使用Word本身的绘图功能。首先必须打开“绘图”工具栏:选取“视图”中“工具栏”内...

    回答:在Word中绘图

    缪陈海

    使用Word作文档时,经常需要用到其绘图功能,这里介绍几种在Word中绘图的方法,希望对大家有所帮助。

    一、使用Word本身的绘图功能。

    首先必须打开“绘图”工具栏:选取“视图”中“工具栏”内的“绘图”,或单击“绘图”按钮,使绘图工具中各种功能的图标出现在编辑屏幕的下方。此后,便可用图标中所示的各种功能进行作图。这一方法虽然能完成大部分的绘图功能,但在给图形配上文字时却有不足之处:每次插入的只能是一个文本行,即每次只能在同一行上插入文字,而对文字高度稍有不同,或在同一行字型号有变化的情况下就无法办到了,这给一些复杂图形的标注带来了困难。

    二、用Word所提供的另一作图工具MicrosoftDrawing。

    首先,在文档适当的位置,根据图形的大小,插入一个“图文框”,并把光标放在“图文框”的左上角,再点击“插入(I)”菜单中的“对象(O)”命令,在“对象类型(O)”的对话框中选择“MicrosoftDrawing”选项,或单击插入工具栏上的“插入图形对象”按钮,就可进入“MicrosoftDrawing”的绘图窗口。此窗口提供了“椭圆”、“矩形”、“圆弧”、“直线”等基本图形的绘图工具以及“调角板”、“文字”等辅助绘图工具,用户可根据需要加以选用。作图工作完成后,有两种方法可返回文档:

    1、可按“Alt+F4”或选择“文件”菜单中的“返回到文档”,对是否更新当前文档的对话框予以确认后,便可把所作图插入到先前选定的图文框中,用这种方法退出,返回后图文框中的图形周围会有较大的空白,需进行再编辑;

    2、选择“工具框”中的“剪刀”,将所绘的图形选上,再选择“编辑”菜单中的“剪切”,将图形剪切到Windows的公共信息交换区——剪贴板,再关闭MicrosoftDrawing,返回后,打开“编辑”菜单中的“粘贴”,即可在文档中插入所绘图形。用这种方法,可以满足绝大多数图形的作图需要。但美中不足的是这种绘图工具没有提供“橡皮”,一旦在绘图过程中不小心发生了错误,或想把一个图形部分抹去,以达到特殊的效果,它就显示得无能为力了。

    三、用Windows的绘图工具“画笔”作图。

    这种方法的使用步骤与方法二相似:首先定好“图文框”,再打开“插入(I)”菜单中的“对象(O)”对话框后,在“对象类型(O)”中选择“画笔图片”,予以确定后,编辑屏幕便变为我们所熟悉的Windows画笔的作图屏幕,这时,就可以利用“画笔”中所提供的强大的作图功能作出自己满意的图形。图形绘好后的操作步骤与方法二完全相同,在此不再重述。“画笔”在作用方面克服了以上两种方法的不足:可以在图形的任意位置、用任意字体、任意字型号给图形予以标注;也可在绘图出现失误时,用画笔所提供的“橡皮”工具予以擦除;特别是对一些精细的图形,用“查看”菜单中的“放大”命令,将比其他两种方法更胜一筹。

    第2、3种方法,图形是以“图文框”的形式插入到文档中的,所以,如果图形在大小上与原先的版面不协调,可用鼠标单击图形中的任意位置,选中该图文框,将鼠标放在图形周围的八个控制点上拖曳,进行图形的缩放;按下“Shift”键,再用鼠标拖曳八个控制点,可对图形进行剪切,以达到满意的效果。

    展开全文
  • 正在用深度学习做车牌识别,既没有现成数据,也拿不到交通摄像头和小区、停车...我模型用的是YOLO v2,它使用的是VOC格式的数据集,所以首先需要训练集及验证集的图片进行标注,每张图片均可以得到相对应的同名xm...
  • 2020-05-25 11:20:08 作者:amitness 编译:ronghuaiyang 导读 ...仅使用10张带有标签的图像,它在...你有很多的图片,由于资源约束,只有一小部分人可以进行标注。在这样的情况下,我们如何利用大量未标注的图像以
  • 导读仅使用10张带有标签的图像,它在CIFAR-10上的中位精度为78%,最大精度为84%,来看看是怎么...你有很多的图片,由于资源约束,只有一小部分人可以进行标注。在这样的情况下,我们如何利用大量未标注的图像以...
  • 图像的像素值开始都是整数,但是我们在人脸关键点进行标注时,无论是通过传统方法还是深度学习的方法,都要依赖于周围区域的像素值。这就使得最终得到的人脸关键点不一定全是整数,有小数也是非常正常的一件事。 ...
  • 原文地址 1. 背景 NLP中一个最基本任务就是分词,当我们分词完成之后怎么来评判分词结果的好坏呢?换句话来说就是我该如何分词结果打分?...举个例子,比如现在有一个猫狗图片分类器100张图片进行分类,分
  • 目标检测中,图片中object的坐标

    千次阅读 2019-01-23 17:52:02
    机器学习深度学习中在目标检测和识别时需要在训练模型时大量的图片进行学习。在监督训炼中,需要对图进行label,通过软件或者脚本标注出图片中object(物体)的位置信息,然后保存为xml文件,配合图片为模型的训练...
  • 怎么给pdf文件中的内容添加文字注释?我们在使用pdf文件的时候,通常会一些难理解的文字旁边添加一些注释。... 迅捷PDF编辑器除了具有完美的编辑功能外,还可以PDF文件进行图片替换绘画标注、页面旋转、输出与...
  • 为了维护自己的权益我们通常会将文档添加好水印之后...捷速PDF编辑器可以PDF文件进行图片替换、文字修改、绘画标注、页面旋转、输出与打印等。是PDF编辑器中速度最快、功能最全、效果最好的一款PDF编辑器工具。
  • selenium录制百度3D地图

    千次阅读 2011-06-17 09:30:00
    这两天突发奇想,用selenium操作百度的3d地图,发现百度用了很诡异的技术,初次载入百度的3d地图的时候,是一张整张图片,等到地图有任何操作的时候(鼠标移入地图区域或者移动了地图)才会地图进行坐标的标注。...
  • 0147. 链表进行插入排序 0150. 逆波兰表达式求值 0152. 乘积最大子数组 0199. 二叉树的右视图 0200. 岛屿数量 0201. 数字范围按位与 0208. 实现 Trie (前缀树) 0209. 长度最小的子数组 0211. ...
  • A Hybrid Approach to Automatic Corpus Generation for Chinese ...形近:把一个字转化为图片,把图片模糊一部分,用OCR进行扫描,选出识别错误的,去进行替换。 音近:收集普通话演讲语料和演讲,用ASR演讲进行
  • 1.注意语义分割的时候,如果只有缺陷类别,则只用标注缺陷类,未标注的地方默认为背景类。 2.classes设置为: 其实这里有两类:1-缺陷 0-背景 ...这个怎么改进,还需要代码进行更深入的研究。 ...
  • Aseprite入门教程

    2019-03-10 21:23:00
    刚安装上时也是不懂该怎么操作,随着逐渐地摸索,初始的使用有了一些了解。  1、创建图片:  点击New files...    创建时根据自己的需要进行设置,标注如下:    这样创建出来的图片是这样的:   ...
  • 怎样编辑pdf文件的贝茨编号

    千次阅读 2017-01-10 15:45:48
    实现PDF文件的直接编辑,我们可以借助迅捷PDF编辑器来完成,它可以PDF文件进行图片替换、文字修改、绘画标注、页面旋转、输出与打印等。它具有多种功能:独有的标记,分享功能;简单易上手的所见即所得的编辑...
  • pdf修改器2016

    2015-12-08 17:18:39
    B 图片引擎 - 支持各种主流图片格式,包括各种幻灯片也能随意添加。 C 搜索功能 - 捷速独特的文字搜索功能使得查找定位更为精准方便。 D 绘画标注 - 支持绘制各种形状的图案和星标,包括线条、直线、矩形及多边形,...
  • 如果我想这个样本进行3D意义上的重构的话,又该怎么使用这个结果呢? ![图片说明](https://img-ask.csdn.net/upload/202004/29/1588150049_890547.png) (图来自作者自己的论文,我很想得到这样的结果) ...
  • 检测结果无头无尾

    2020-11-26 08:46:22
    后面找了一些图片进行测试。发现一些问题,有很多图片出现了有头无尾,有尾无头,无头无尾,以及相邻两行之间交叉,分不开的情况,可是我找不到原因以及怎么改善?可以给...
  • arcgis工具

    2012-10-22 22:37:31
    线要素进行标注时,如果标注在线上,标注和线会叠加显示,效果不理想,下面叫介绍一种可以在显示标注的地方把线断开的方法,这样效果会美观一些) 操作步骤: 1).把标注转成注记,保存在GDB中 2). 用...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

怎么对图片进行标注