机器视觉-1

机器视觉是什么?

机器视觉的组成可分为硬件和软件两部分。

硬件负责成像,相当于人的“眼睛”,包括光源及光源控制器、镜头和工业相机;软件负责图像处理分析,相当于人的“视觉皮层”。具体而言,典型的机器视觉成套系统包括:

光源及光源控制器:共同为机器提供“看”的环境。合适的光源可突出目标特征,隐去无关的背景信息,进而大幅降低算法难度。

镜头:被摄物体信息采集和传递过程的起点,相当于“晶状体”。

工业相机:机器视觉中的图像采集单元,本质为将光信号转变为有序的电信号,相当于“视网膜”。工业相机对拍摄速度、图像稳定性、传输能力和抗干扰能力有较高要求。

视觉处理分析软件:通过编写合适的算法,进行图像的处理和分析,最终实现机器视觉功能目标,相当于“视觉皮层”。视觉处理分析软件通常基于PC使用,也可嵌入工业相机中,使其成为兼具图像采集、处理、通信功能的智能相机。

机器视觉软件能够做什么?

具体而言,机器视觉具有识别(Identify)、测量(Gauge)、定位(Guide)、检测(Inspect)四大功能,各项功能的应用场景和实现关键在于:

识别(Identify):

基于目标物的特征进行甄别,例如外形、颜色、字符、条码等,其中OCR/OCV(光学字符识别/光学字符验证)、条码识别重要的应用场景,在追踪管理和质量回溯环节可发挥重要作用。识别的关键在于高准确度和快速识别。

测量(Gauge):

把获取的图像像素信息标定成常用的度量衡单位,然后在图像中精确地计算出目标物的几何尺寸,应用场景包括尺寸标注和误差测量等。机器视觉尤其擅长小尺寸、高精度以及复杂形态的测量。

定位(Guide):

获得目标物体二维或三维的位置信息,进而引导生产设备(机器手、机床等)或检测设备进行精确定位或移动。定位功能的关键在于高精度和快速定位。

检测(Inspect):

一般是指外观检测。检测的应用场景很多,如装配后的完整性检测(是否正确完成装配)、外观缺陷检测(是否有划痕、凹凸不平等)等。

主要功能及应用

机器视觉相比人眼视觉,具有图像采集和分析速度快、观测精度高、环境适应性强、客观性高、持续工作稳定性高等优势,因而可帮助终端使用者进行产品增质、成本降低以及生产数字化

产品增质:

1)机器视觉可显著降低检测的漏检率和过杀率,提高生产的精度和良品率;

2)提高产品一致性;

3)在不规则、小尺寸、精细化部件的加工和检测,以及危险环境下具有更加明显的优势。

成本降低:

1)机器视觉采集和处理图像的时间在微秒级别,可显著提升效率;

2)单台系统可代替多人工作,并可7×24小时不间断工作;

3)柔性化程度高,若生产过程改变,仅需调整算法或增加部分硬件即可实现。

主流机器视觉软件介绍

主流的机器视觉软件有:侧重图像处理的图像软件包Opencv,Halcon、美国康耐视(Cogrex )的 visionpro;侧重算法的matlab,labview;侧重相机SDK开发的eVision等

visionpro

康耐视_百度百科

—-工业化、封装、人性化、评估的便捷性、开发的快速性。

—-取消了软件授权的形式,硬件授权价格在1.5万-3万不等。

—-性能上某些方面不如halcon,但是开发上手比halcon容易。

Halcon

HALCON机器视觉软件_百度百科

—-功能最强大最牛,开放性强、有试用的 license、提供超过 1000 个算子 。

—-Halcon是一套标准的机器视觉算法包,架构最灵活,具有自己独特底层的数据管理。

—-使用 halcon 开发软件,节约产品成 本,缩短开发周期,应用范围广,用到图像处理的地方,都可以使用 halcon;

—-包含了各类滤波,色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能。

Opencv

opencv_百度百科

—-Opencv-好处是开源免费图像处理库。缺点是没人长期维护,可靠性,效率,效果和性能不如商业化软件,而且没有技术支持,开发慢,需要自己从头开始摸索。

—-Opencv定位模板做的不好,简单的应用用用就行了。

—-主要应用于计算机视觉领域,在机器视觉领域其实不算太多,主要还是定位、测量、外观、OCR/OCV,但感觉这几项都不是opencv的专长。

—-由于是开源软件,因此其版本繁多,函数库复杂,执行效率受到应用限制,比较适用于科研和学习,不适合工业应用。

国产机器视觉软件

1.SciSmart 智能视觉软件 SciVision 视觉开发包———深圳奥普特(OPT)

Sina Visitor System

优点:做苹果手机项目(富士康),拥有数十人的软件开发及定制化应用团队,定制化开发应用能力比较强,在手机、电子等行业优势较大。

2.VisionAssembly的视觉集成包———————————-北京凌云光

优点:基于VisionAssembly的视觉集成包,包含对位、通讯、标定、结果计算等。低代码开发,中文界面。

其他视觉软件参考:

机器视觉软件介绍 - 知乎

VisonPro 软件安装

1.关闭防火墙、杀毒软件,解压软件安装包,找到安装文件,双击运行,按照安装提示“下一步”安装即可,整个过程除了依据个人需要修改安装位置外,其他不作更改。

ae1cb28af7914c8eb299fbbc79e95920.png

2.打开破解工具  注意关闭vp软件后使用

56d6afa8258f4b42ada7423a19f923f6.png

开始使用QuickBuild  

双击图标即可启动QuickBuild.  

QuickBuild应用程序是VisionPro软件包的一部分,提供了一个交互式环境,可以快速创建一个视觉应用程序

QuickBuild和CogJob 关系

可以包含多个cogjob

cogjob 主要用来设置像源Image Source  然后再job中添加不同视觉工具 
多个CogJob 平行执行

建立图像源Image Source

开发视觉应用程序的第一步通常都是建立一个图像源,它可以是连接到相机,可以从图像数据库开始(数据库中包含在生产环境中采集到的图像),然后修改应用程序以适应来自连接相机的图像,这非常方便。

前期不必直接连摄像机,可以从一些预先准备好的的图片开始,测试视觉程序。熟悉之后,可以把图片源改为相机。

打开图像数据库

0dae6c69e6a34e9ab4a4b34a7c04eb02.png

  • 默认情况下,Image Source被配置为从图像数据库获取图像。
  • 点击选择文件来选择一个图像数据库文件。
    本例中,选中 \Program Files\Cognex\VisionPro\Images目录下的 coins.idb
  • 点击对话框左上角的实时显示按钮:
  • 28da77844a9d419e94d7f94d17e66e0b.png
  • 确认后会打开实时显示窗口,以循环浏览图像数据库文件中所有的图像。
  • 7f7467df6d874d3a8196f83f17297cb1.png
  • 运行作业  

    此时,作业仅包含配置图像源,但你可以运行作业以查看图像在QuickBuild作业编辑器中的显示方式       目的 :切换图片 且运行检测结果

    点击工具栏中的运行按钮。

  • 1cc5df833d80423ba42b7d538aafdd07.png

  • 1.图像数据库文件中获取的图像会显示在显示区中。

    2.当运行工具时,工具旁边的小绿点表示它成功运行。

    3.当所有工具都成功运行时,作业编辑器左下角会出现一个绿点。

    4. 一直单击运行按钮,在待检测图片之间进行跳转

    VP中的工具

    1.打开vp工具

    2.vp工具的列表

    3.工具作用:用于实现视觉图像 各种功能的使用

    4.工具是学习vp的重要内容

  • 37d808277d6c434283c2c697e901a7da.png

  • 工具使用
    PMAlignTool (模板匹配)
    含义:CogPMAlign(Cognex Pattern(图案) Match(匹配) Align(排列)的缩写)

    Pattern Match,[计]模式匹配。
    当然Pattern也有图案的意思,理解成图像匹配,即在模板图像中寻找匹配的目标物体的特征。

    模板匹配流程:

    添加PMAlignTool工具到作业

    f552183d0a2f4571bc345fc4226739ec.png

  • 添加 CogPMAlignTool

  • f102aec9aee34d1c9d4c605e55a2d32b.png
  • 添加像源

    在 图像源 的 OutputImage(输出图像) 上单击,并将其拖入 CogPMAlign 工具的 (InputImage)输入图像,以链接由图像源生成的图像至需要 CogPMAlign 工具分析的输入图像上

  • f5ba01f9209c46a49baa4f33e43b38f8.png

  •   获取训练图像

  • 1.2.单击 抓取训练图像 ,使得工具以当前输入图像作为训练图像

    3.从显示菜单中选中 Current.TrainImage(当前训练图像) 以显示抓取的训练图像  PMAlign工具会在其要分析的每个图像中搜索/寻找经过训练的模式(trained pattern,即目标图案)

    4.单击 训练区域&原点 选项卡来配置训练参数。

  • 85354b90e85e46daa902e8a7a67ee417.png

5.从 区域形状 下拉菜单中选择 CogRectangle 。这会告诉工具,你将选择一个简单的矩形区域进行训练。  原点 和中心 分别表示以区域坐上点和中心点的位置 调整

6.点击并拖动小的训练区域矩形以包围大的圆点,告诉工具使用图像的哪一部分作为模式

7.点击中心原点按钮,将原点图标移动到矩形的中心。当工具在图像中找到特征时,它使用原点图标的相对位置来报告其位置。大多数情况下,寻找物体的中心就是你想要报道的位置。

d1ea7830a0664d43ad50cd41d55bb5dd.png

8.点击训练参数选项卡以完成对模式的训练。

9.点击 训练 按钮。 经过训练的模式(图案)会出现在模式面板中, “已训练” 一词会显示在工具底部。

8238a96bc26f458981580d6d397b8f56.png

显示训练后图像

1.在图像下拉列表中选择 LastRun.InputImage 。最近一次运行图像的结果会在图像框中显示。

2.点击 运行 按钮。

3.9814975a86954efcb043be28987561b8.png

4.点击 结果 选项卡查看工具生成的结果。

5.结果窗格列出在图像中找到的所有特征。你可以检测每个特征的分数、位置和其他结果。
当你选中结果窗格里的一行,相应形状在显示窗格中以蓝色突出显示

ec0231484f724259ae4498d0ae26b407.png

工具选项卡:

bb4ee591f8844456af95a3286f0fff7a.png

算法

PatQuick 特点:速度最快,对于三维或者低质量原件最佳,承受更多图像差异;

PatMax 特点:精确度最高,在二维元件上表现佳,最适合于细微细节;

PatFlex 特点:为高度灵活的图案设计,在弯曲不平的表面表现较佳,及其灵活但不够精确;

训练模式

• 图像 对图像直接进行训练
• 带图像的形状模型 适用于建模器手动建模训练 包含模型和图像
• 带转换的形状模型 适用于建模器手动建模训练 只包含模型,一般为加载模型 不常用该模式

41f5eb35e48a4d128024966d13efd804.png

忽略极性:

从暗到亮 是正极性  从亮到暗是 负极性  
进行全局极性的忽略(不考虑明暗关系) 一般用于物体光线不稳定时

训练:

对抓取的训练图像使用算法包 进行特征匹配

抓取训练图像

选取进行特征匹配的图像

加载模式

加载原有的vpp文件

保存模式

保存现有的vpp文件

信息

图像训练状态信息

训练区域与原点:

b4af993c9b064e79a32cc1cf07c700e8.png

区域形状

模板匹配图像的区域形状

所选空间名称:

使用输入图像空间,即当前输入图像的图像空间 一般基于标定的方式(工具定位,标定工具与棋盘格校准工具),建立的空间描述关系。
像素空间:像素空间与根空间相似:其原点始终在左上角;其空间与图像像素相对应;但是,像素空间并不会图像处理的效果而进行调整;很少在应用中使用

根空间:默认从左上角开始的像素空间坐标。但是如果图像处理或者再次取样了,会自动重新调整

适应图像

自适应模板匹配图形大小

中心原点

获取模板匹配图形中心位置

Tune

63f7db5af6f24afe9156b0270a41db97.png

用于复合图像训练

运行参数

99faffbc788b4c0493b15d958a42104a.png

查找概数

查找的结果的个数。
比如当前图像有四个待查找的图例。
Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果
Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果

接受阈值

结果选项中   分数  低于阈值的不显示结果

超时

图像匹配时间超过 指定时间 终止匹配

计分时考虑杂斑

勾选后,匹配特征时计算考虑杂斑因素,将会导致结果选项中   分数变低

角度

匹配特征时 角度范围

缩放

匹配特征时 缩放范围

xy重叠

如果匹配物体有重合部分  取值范围0-1   数值越大 越能匹配重合部分

对比度阈值     

对比度阈值越低,对比敏感度越高,视觉灵敏度越高。

搜索区域

cd91c40ece8a4fa0a9772b9077707c51.png

区域形状

特征阈值

图形选项卡:

主要作用体现PMAlign工具 按照边缘(图像上不同像素的区域轮廓性 具有大小和方向的矢量)特征 进行匹配计算

1.显示粗糙

2.显示精细 

cffb596d8bcb4b7090d94b689c64fe0c.png

调运行参数

  创建和训练模式是告诉PMAlign工具要寻找什么东西。而运行参数是告诉工具如何去发现它。

  1. 点击允许参数

  2. 点击角度 箭头,将下限设为-45,上限设为45。
    该设置允许你选择要查找的目标的相对角度

2e0ed0e8101346b0944628b73ac66b5b.png

运行整个作业

现在可以运行整个作业了。关闭 CogPMAlign 工具窗口,或者把它拖到一边,这样就可以看到 QuickBuild作业编辑器了。

点击 Run Job Once(单次运行作业) 按钮。
可以点击 连续运行作业 ,使得QuickBuild获取图像并运行该工具,直到再次点击按钮。
QuickBuild会运行整个作业:
从图像数据库或相机中获取下一个图像。
运行 CogPMAlignTool 发现图像中的下一个目标项。
将结果显示在显示窗格中。

dc8d7da0769141a08437f18a6f299d1f.png

 图像显示模式

cf44127aeaa84a01b0ec46982e3739e6.png

图像显示模式

1. 输入图像显示

a49a465adc9b48d3906610d065b4c634.png

2.输入图像训练显示

9b444d56dcea49b191a6b42d4b82240f.png

3.多图输入图像训练显示  在tune选项中复合图像使用

6b8423913d5848ffa49ebe5d8aa0399d.png

4.训练图像运行后图像的结果

88ec76e47ce546c7ab775f32a5bf3ca4.png

1、像素

像素可以看做是图像中的小方格,图像是由很多的小方格组成,这些小方格都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。

可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。

像素是表示的图像的最小单位

2.灰度值

在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0-255

8c3ebbe49c2b44eca247be4a2f9495e3.png

3.勾选 忽略极性 选项。

极性 会告诉工具,它应该考虑或忽略图案在亮背景上是暗的还是在暗背景上是亮的。由于该图案在深色背景下是浅色的,根据光线不同,耳朵在背景下可能是深色或浅色。该情况下,忽略极性是正确的做法。

d5b1610934084a5f98cf958aa261fc88.png

特征颗粒度限制   默认是自动选择  系统会自动设置粗糙精细比例值  

上限为25.5   精细 不能大于 粗糙  

原则上 数值越大匹配度越低    

3097033776704422951856ef3e1f4b29.png

弹性  影响匹配精确度    类似于范围取值  例如边缘匹配精度为20  弹性设为 1   那么就允许匹配 20.1到21的浮动值

边缘阈值   灰度值之间的差值的界限   阈值越大 匹配精度越低

1.边缘阈值为10  效果

2c879667d7bc4006ac1ae2d53d18e306.png

2.边缘阈值为80  效果

a6260c1275c4458caaa293f68771e8c0.png

保存模式 加载模式

可以把匹配好的模板 保存为vpp本地文件  或者打开已保存的vpp本地文件

62bb84040efd408e93e2e73d0d39a1ea.png

1.帮助按钮 -控制参考页

可以查看工具具体使用文档

11beba4a3b4244699bc06fd1e3f10b46.png

保存打开QuickBuild和CogJob

c453ffc048ad4fb6a4e379cfea5140de.png

1.查看示例作业  提供很多demo 供参考使用

6c3d294df2004489b0f2d70be5032f23.png

总结

1.如何使用QuickBuild和CogJob

2.PMAlignTool工具操作方法

抓取图像-设置训练区域及参数-训练模板-设置允许参数-运行-参看结果

3.PMAlignTool的基本原理

 图案位置搜索工具

基于边缘特征的模板而不是居于像素的模板匹配

边缘特征表示图像中不同区域间界限的轮廓线(有大小有方向)

支持图像中的特征旋转和缩放

PMAlignTool常用参数

1.算法   忽略极性   粗糙度  精细度   边缘阈值  弹性

常用参数

 算法:有六种选项,分别是:PatMax,PatQuick, PatMax 与 PatQuick,

PatFlex,PatMax-高灵敏度,透视 Patmax。

PatQuick 特点:速度最快,对于三维或者低质量原件最佳,承受更多图像差异;

PatMax 特点:精确度最高,在二维元件上表现佳,最适合于细微细节;

PatFlex 特点:为高度灵活的图案设计,在弯曲不平的表面表现较佳,及其灵活

但不够精确;

PatMax-高灵敏度特点:适用于对比度很低或者视频噪音或图像变形严重的图像

透视 Patmax 特点:适用于已经透视失真的二维特征;

忽略极性  从暗到亮 是正极性  从亮到暗是 负极性  
进行全局极性的忽略(不考虑明暗关系) 一般用于物体光线不稳定时


xy重叠 如果匹配物体有重合部分  取值范围0-1   数值越大 越能匹配重合部分

查找概数 能匹配的物体个数上限

希望查找的结果个数。
如果当前图像有四个待查找的图例。
Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果
Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果

接受阈值    结果选项中   分数  低于阈值的不显示结果      一般建议 0.5

计分考虑杂斑
考虑的时候,将会导致结果选项中   分数变低


粗糙度接受阈值法   结果选项中  粗糙 分数  低于阈值的不显示结果

弹性:当实例于匹配模板 有一定出入时 (例如匹配模板为30像素   弹性+5 可以匹配到30.1-35的实例) 类似于误差值       一般建议在6以内范围

自动边缘阈值:(可以适当滤除一定的边缘干扰)
低于边缘阈值的会当作物件的背景。大于阈值的才会视作物件的轮廓。(边缘对比度)
如果设置一个过小的阈值,那么会产生过多的干扰
设置一个过大的阈值,将会造成边缘轮廓的损失


特征颗粒限制:
模板 边缘线段的颗粒限制

旋转角度和缩放比例
实例与模板之间 可 接受的最小和最大角度值  
实例与模板之间 可 接受的最小和最大缩放比例    

超时:
强制让当前搜索的任务时间限制到这个时间之内,超过就会直接结束


对比度阈值      我们将刚好看不清物体时的对比度值,称为对比度阈值。对比度阈值的倒数就是视觉对比敏感度。对比度阈值越低,对比敏感度越高,视觉功能越好。

掩摸训练

遮住不必要的图像特征

使用流程

1.在训练模式 :图像模式

2.点击图像掩膜编辑按钮 打开界面

33d62f869a7347b6b55f4465d1331aa8.png

1.选择不同形状的工具  并且移动形状到 遮盖区域

2.点击掩膜颜色

3.点击填充当前选项

4.点击应用

9f1936b7a5404150830f82df98ef2822.png

1.掩盖不必要的训练特征

e61af8d5405346f7a2abd5170d56ea7e.png

1.利用橡皮擦可以清除部分掩膜效果

2.通过工具 笔刷  或者其他形状

3.清除圆形轮廓   (一般用于匹配形状相同(比如硬币) 但是内部图案不一样 想要匹配成功 可以使用掩膜加清除)

28f534f5a16c4e0d863c4ce17afbd2fc.png

建模训练  

模型编辑器允许您使用图像作为向导自动提取形状或者绘制您自己的形状,一般在需要训练的模型较为复杂同时特征也比较明显的情况下使用

使用流程

1.先修改训练模式为 带图像的形状模型

648d0ee89cf543ffa0f29312ec5985bf.png

2:进入建模器

d0621542897d4ec686edd47884e94ba9.png

3:自定义轮廓特征

141fa3cd693b4d6b8ce28da55504a1e7.png

推荐直接提取形状,然后自动生成轮廓,然后删除嘈杂轮廓。

4:修改参数

  1. 修改区域模式为像素配对限定框
27b6b38494bd4bf8b46d947700883752.png

2勾选忽略极性

95ff3af4fa654601ba4c76892794f99d.png

 1.调整好训练区域

2.点击训练

7d9714ba7ebe449c9312e37eae4b8749.png

3.修改关键特征线段的权重

如果特定线段的特征数量少,可以适当改变权重值,让当前特征的比重是其他线段的10倍

1.点击添加圆

2.添加圆形到特征处

3.双击圆形边框 弹出界面  修改 权重参数

249dae55c895431088e1ce77afa0d4b1.png

1.点击训练

2.圆形处特征线段增多

37009837d97e4bd9ab0ad9517fa1e79b.png

搜索区域  --区域以外计分参数 (不常用)

1.一般默认区域为整张图像区域  修改为区域形状

2.修改搜索区域大小 

902c6e789609448faf15e03ea3059a0a.png

1.训练区域 不在搜索区域范围中  训练看不到结果

9dbd12e43b674e64b11be9db991751d1.png

1. 修改特征阈值  可以计算在搜索区域外检测的结果

e04b47374d6944d887983ae0c7fc81c9.png

87c79e8c6f3543929012b593c4552674.png

终端设置

1.输入终端

2.输出终端   对结果数据的展示

9c60e25f9b08473a85fefe6ad5ac3def.png

1.添加其他输出终端   在工具上右键  选择添加终端

b4b4def8e994453dbc5ef51414e462de.png

1.添加个数输入终端

2.添加

fff8d8727d8e4d1d8c3d7a6efa36528d.png

CogPMAlign匹配多个局部特征

抓取多个特征需要多个CogPMAlignTool    如果需要整合 可以使用CogPMAlignMultiTool工具

e9927858bd73497e92613a3d322f0676.png

1.对螺丝钉进行模板匹配

5ca0c2365f444f0e944416d7d9fd66bc.png

8c0e2bf341634ff982bf7b43eba723f7.png

8d1c3897423d436ba079b259e1db32da.png

CogPMAlignMultiTool工具使用
1.点击add pattern添加 图案

2.双击 进入编辑页面

3.抓取训练图像

4.调整 图像模式current.patterntrianIamge

5.训练

6.图形选项 调整 参数

7.调整 图像模式lastRun.inputImage

9451e806be474ea4ac5887463b9564cd.png

 因为以上调整无法发现多个螺丝 需要进入 主界面调整

1.查找概述 调整5

2.旋转值调整正负180

3.回到子界面

864e5fe1bbaf4ed0b2b6887cb99b79aa.png

 1.双击 进入编辑页面

 2.运行

3.调整 图像模式lastRun.inputImage

4.看到匹配结果

79a6b3efbedd49019e1a3d12236f829b.png

 为了在集合工具中 看到匹配效果  要把已经匹配好的图片 添加到 集合队列里

1.选中添加的图案

2.点击多训练

3.点击多参数选项

1fbce8164d1b4d74896b9e06d59bb88d.png

1.选中要转移的图案

2.点击转移按钮

3.转移到搜索队列中

4.点击运行 在集合工具中看到 输出结果

37b1b057488c4eddadebf39b9b497d67.png

添加多个匹配图案 执行方法同上

最后注意想多个图案同时在集合中显示结果 要运行模式 调整为 exhaustive 多个运行模式

3ed1c7bb1f8c4a13a49e1aebf905d933.png

作业

d78aa502e53c460aa565ad5cf0fd2978.png

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值