大家好,我是魏小妹,你跟我们公布一下,看来是智能相机的一个 inside 的一个全面的一个更新的一个目录,然后我们一起来看一下 啊,如果大家需要的话可以加我们微信啊,你去试看啊,然后啊,我们还在线上,但线下的是到年底的时候会上线,然后大家可以到现场来实践啊, 然后主要的其实是一些啊工具啊的参数,一些讲解和一些考核。呃啊,我们的英赛的还是以考核为主,然后大家会每一个会接受到我们的题目,然后也是永久的啊,永久更新 腾讯门板的规范的话,其实这边有两个,一个是中国这边的,还有一个国外的啊,我的我的计划啊, 然后基本脚本的话,其实基本程序的话,其实以脚以这个模板来写一些程序,然后可以进行一个仿真啊,大家可能手上没有智能相机,但是智能相机太贵了, 如果大家需要的话可以去买啊,如果不知道在哪里可以咨询我。高级程序的话就是一些啊,很少见过的,比如缺陷检测,比如说一些嗯,引导呀,位置度呀,或者是什么, 嗯,案例啊,主要就是我们以前做过的案例啊,然后这边的话就是重点内容的话,就是一些什么检测呀,就是一些主要的一些我们这里面做高级程序的一些分享啊, 然后呢它这里面呢还是包含了一些循环排序啊,数据成熟这些,还有唇涂啊,大家可能有些不会的,但是我们唇涂的话,这些都是我们在 公共机上面,然后连接智能机的时候去给你们展示的,然后还有一些通讯啊,然后这边的话预期的效果的话是完全掌握印赛的啊,可以去做项目, 因为我们印上的其实是不难的啊,然后大家可能有六个月到一年了这个时间去学,但是呢,我希望大家能够在一个月内 就是可以去做项目啊,因为什么?因为我们呢这个系统系统性的比较快,因为我们讲的讲课的内容都是从项目开始讲的啊, 上课的方式啊,现在是录制视频,然后大家可以有问题可以问老师啊,然后这边的优势的话我就不说了,然后是康莱斯本都的啊,我请过来的啊,然后这边的话大家可以就是 是从零到一啊,然后有一个突破的一个进展,然后这样子, 然后这边是一个啊,就是主要的内容啊, 主要内容就是一个工业相机与智能相机的一个比较啊,这些这些我就不说了啊,就是一些很基础的东西,有些人还不会,比如说这个连接与图像的采集之前要做什么呀?你不知道啊,固件的更新啊,或者这些东西你们都不懂的啊。 然后这边一个表格的一个视觉常用啊,就是一些很多的,一些我们都没有见过的,或者是说,呃,空军的茶楼补缺啊,一些你没见过的,比如说切个报个词,或者是 一些秀,就是展示的一些东西你都没有啊,当然我们这里面也有啊,就是微微微九微九零零的那个触摸屏的一个讲解啊,应该是微微九零零啊,我记得因为我们这个也用的少,但是我们亲自买了一个给大家讲,为什么?因为大家都要用的, 然后这这个规范的话,其实里面有两个案例,一个是国外的,还有一个是国内的啊,都是大厂。然后这边一个基本人气的话,因为是一些结合啊,上面的工具来讲一些基础的必须要掌握的,然后老师也会每周出题目去做 这个基本的一个程序拓展呢,其实对应着我们的一个练习和大量的练习,把前面的东西进行一个类似啊,就是这样的,然后 然后这边是一个啊,中级,中级程序的时候,为什么保密的是一些我们做的一些项目案例,然后 啊一个终极的一个水平啊?大家我因为我们做的程序太多了,我们进行了一个什么分类归类,然后去老师就给你们讲高级的话,我刚才已经讲过了,这一, 嗯,以这些引导呀,位置度啊这些我们实际做过的案例的去讲,然后跟然后这边是一个,嗯,问题极紧,就是我们所有的问题,比如说你存都存不了了,或者是说一些 程序软件或者程序一一些出现了一些 bug, 如何解决啊?比如曝光,多次曝光,这些东西怎么解决的,我们都 会有一个详细的计划去讲,懂吗?所以说这里面是很详细的啊,这个是这些东西呢,都是我们自自身的一个内部的一个东西,我们 对学员是开放的,对外是不开放的啊,所以说是这样的啊,那么本节课就说到这里啊,谢谢大家啊。
粉丝4.1万获赞4.5万

啊,大家好,我是微笑麦,然后群里面经常有人问一些我声音差的传播问题啊,我们做了一个 ppt 啊,给大家分享一下,就是可以在群里面进行一个下载啊, 然后呢我们这边呃就是一个透气啊,就是存放的一个梦露下啊,这个是一个设置啊,大家可以去找一下,在选项里面啊,然后这边是一个就是他的路径的一个选择,然后选择地盘放在哪里,然后去调一下, 然后这边是一个函数,你必须要把这个函数放到你的表格里面去,然后进行一个编写啊,是什么东西我就不详细了,你可以去直接的去看然后文件名,呃,在这个目录下面,然后呃文件名的什么结 果呀?就是说你的图片的名字你可以去做,你也可以去把他的名字作为一个啊制服,然后你是改变了 n g 和 ok 的吗?你可以去分开, 那手动测试的话,其实其实是一个,就是也是一个 lot, 也没见 ftb 的一个设置啊,你可以去试一下啊,然后在这边的话就是一个你的一个判断,刚刚我说的 ok 和 ng 的图片的一个判断 实践啊,或者是什么,但是你不能有透露这个制服的啊,然后大家注意一点啊,可以去测试一下,然后有问题的话可以在群里面进行一个反馈啊,感谢大家。


点这个设备管理器啊,设备管理器里面的话可以看到, 可以看到这个 p l c, 这是跟 p l c 的通线,然后 p l c 的话,它这边这边是 p l c 的 ip 地址,这个是死的。 就你如果是新建一个 plc 的话,可以把那个 plcwd 的写到这里,然后对应的 plcdb 块的那个地址写到这里,他是可以读写这个 plc 的那个信息的。 就比如说这个是机器人完成信号,等机器人到位之后,他会发送一个机器人完成信号,就这个地址可以告诉 plc, 告诉 plc 这个机器人到位了, 然后 plc 待会做下一个动作,这个是相机触发指令,这个是 plc 过来的,就 plc 会让那个相机触发的话,就通过这个这个地址 来出发的。还有下面这些都是一样,都是,比如说这个相机 ok 信号,相机 ag 信号,这个是跟 pr 是通用的,然后这里是可以看他实际的一个值,像这种是等于零,等于零,这个是 你这个如果运行的话,就可以看出来他会动作了啊。然后这个是机跟机器人呢,跟机器人呢是走的那个 tcp 通讯也是一样的一个 ip 地址,然后跟到通讯了,这些东西不是特别关键。 然后这个是相机的,相机进来之后可以看到这个实时图片,是吧? 呃,然后相机里面有个参数可以看一下,就是他每次每个相机拍每次照片的时候,可以设定不同的那个曝光值,然后你这里可以多设写,比如说五十的曝光,一百的曝光,一两百五的曝 在在里面,每次拍照的时候有些光线比较暗,你可以调用不同的曝光值,这里就这么多了。哎,等一下,那个曝光值我看一下。那我正在假如说 刚才这不是交互群吗?我就扎头,是吧?假如说这有头,我拍的时候扎头。对, 你抓图的曝光值是这个,这个是手写的。是是是在这里改吗?这个不是这个,是这个,是这,你拍图,那你调用的是是从哪是调哪个?你想调哪个就调哪个,我选一下,不是我选这个,他就怎么选中啊?这个在那个后面那个城市里面可以看,这里只是预设了一些不同的曝光值,是 没有,这里只能看不能调用,是吧?这个不需要调用,就是你要改进去,改进去,怎么改进去?你这个这个是 有这些,但是我是实际上用的时候,你在程序里调用的时候就调用幺幺五零就可以了。等一下,我到现在,你看现在这不是视图吗?假如我现在抓图,这个的抓图是一百的,这个曝光纸抓的。对,假如说我现在想挣两百抓,你改成两百,抓一个改成两百就 ok 了。对,但是这个保存不了,只是只是让你知道你两百的曝光值是什么效果。嗯, 那改改是改,改了这个改,但是一般情况下你这个五十、五十再加应该都够了,然后这个日日日是为了显示的,没什么意义,这个先关了,然后刚才说的那些那些东西,就每一个每一次拍照就这一条逻辑,就这条逻辑,我们讲一个逻辑吧, 他第一个指令是 plc 扫描这个 plc 的变量,这个 plc 的变量就是刚才那个,就是 plc 发过来那个程序号, 他在监测这个这个地址是不是等于幺幺幺?如果等于幺幺幺的就执行这一步,对吧?就他这里就是地址值发生变化,并且为目标值幺幺幺,他就会执行这一步。然后到了这边的话,后面是 呃,这些东西没有什么意义啊,就是写一些变量的东西, 到了这边是一个分支,他是什么意思呢?就是你我们有两三种模式,第一个是正常模式,还有一种走 okok 样件图片模式和眼镜样件模式,这个是在呃做样件的时候用的正常模式,他是从这里走的, 点开镜子他是一个,他是他这个取图的一个工具吧?他取图的方式是取图的这个取成这个相机, 然后第二个这个主图他是取的那个固定的路径啊?对,第一次是取的相机,第二次是选择一个路径,这个路径是你自己日先设好的那个路径,这个路径你可以发一些 ok 的图片,然后可以做一些测试。 嗯,我看一下刚刚那个那个曝光值在哪里?曝光值这里应该是有的,这里是有参数级里面的,这个时候调用的是一百, 你这个可以随便改,假如说你觉得这个光线不够,你可以改到幺五,你这个时候改幺五,你跟其他任何相机,任何那个其他城市没有关,没有关系,每个都是单独单独调用的。他这个图片使完之后到了这边就是刚刚那个分析的工具,这里面跟 最新 pro 的那个那个调试模板是一样的。然后假如说你这个要调整好,你这个训练好模板之后先保存,跟楼下是一样的,保存到那个你这个路径里面, 在 ppt 随便找一个,我们一般是保存这个保存完了再加载,永远搞一个就可以了,跟楼下那个一二三是一样的。 然后这个是工具吧,是吧?然后往下翻,这里是结果图像和图像,图像保存的一个工具,这个也没有太大意义,一般这个都弄死的,是吧?他弄完之后呢?他这里有一个写变量,就写个 plc 的高速 plc, 我做完了 就把那个 ok 结果写到这个这个电站里面去,然后标记收到 ok 信号之后会 会做下一个动作,我感觉差不多了,没问题吧?这个这个实际上跟楼上那个 lv 也差不多,是吧?对。

下面给大家演示一下这个当马很清晰的时候,他读取不到的一个情况。下面我们看第一种情况,这样的话他其实马已经是很清晰了,可以看到马已经很清晰了,但是他现在是解不到马的,可以看到是解不到马的, 这种是什么原因呢?就是因为训练了这个代码,去掉这个训练代码啊,立马就可以读了, 可以看到啊。第二种情况就是说他这里码字没有勾选,我把这个码字去掉,然后保存下,我现在是读他也是读不了的,这种情况下呢,我们就需要把这个码字勾选,然后重新回来做法他也是可以的,好。

大家好,我是 fanna, 今天我想给大家介绍一下如何格式化 tag。 首先让我们了解一下我们的应用需求。 在现在这个程序当中,如果我运行可以看到程序只是对这个零件进行了定位,然后将定位的结果显示在右侧的 labour 上面,包括 xy, rotation, los, symbility。 这里的 similarity 是指的得分,因为对 partner max 而言,得分本身就是指相似前度的意思。 虽然现在结果都是对的,但是显示的效果却不是太好,因为像这样的小数点位数太多没有意义。我希望 像 xy 这种词只要三个小数位就好了。而对于 rotation, 由于这个数据已经被转换成为度的单位,我希望能够显示的是十二点三三度。 对 similarity, 我不希望显示零点九九,我希望显示的是百分之九十九占百分符号。 这就是我们格式化的要求。想要实现这些效果,就要使用格式化 tag 的功能,我们看这点如何实现。 我们首先来了解一下整个城区的流程,切换到 secrets 一下这里 top lock 里面直行的是 pan mask 定位 位,然后 rotation 这个值,由于他的输出单位是弧度,所以我们使用了一个 cog results analysis tool, 将弧度乘以三点一四除以一百八得到度的单位,最后变成 top block 的 rotation 输出 a score 就直接传给 scar, 这些输出我们都为它配备了相应的 tag, 分别叫做 inspection, result in translate, x translate, y rotation 和 scar。 所以我们在 tacmani 这里面也能够找到这四个 tag, 他们都是搭伙的类型。 好,现在我们想将这些输入结果变成我们想要的格式,那我们究竟在哪里去 格式化我们的 tag 呢?我们并不是要在 cican g 下去格式化,它也不是在 tag manager 里面来修改它,因为这些数据都是原始数据,我们不希望由于显示的原因去修改到原始数据本身, 我们只希望修改显示效果而已。想要实现这一点,我们可以直接在配置上面的相应空间位置点开这个 text。 我们看到这里有个绿色的小圆圈,因为他已经绑定了数据。在打开 espresson beautiful 框当中,我们可以继续对现在的数据进行格式化。好 x, 我希望保留三个小数位,那我可以直接在后面 敲一个 format 这个关键字,然后敲一对引号,在中间我们写入 f 三,意思就是带三个小苏喂的浮点型数据。点击。 ok, 我们运行看一下,现在这个 x 的格式就已经被修改过来了。 ok, 大家这个时候可能会有一个疑问,那我为什么知道是使用 format 加 f 三呢?这是因为在我们的帮助文档当中, user guide 的 how to 这个目录底下 最后一项已经有了相应的丰满格式,说明我们刚才所使用的就是这一项。 当然这里面所列举出来的仅仅只是一小部分。如果大家想要了解更多格式化的方法,我们可以点击上面这个链接 umeric formats, 在这我们就能够找到更多的格式化符号。 所以这些格式化方法并非 desire 所独有的,而是通用的。 好,我们继续将 y 的字也格式画一下 formats, 记住要加双引号,如果我没有加而直接写 defs 赞的话, 底下他就提示说 invalid expression, 所以我必须让他的格式正确加一对双引号, 点击, ok, 好, y 的值也已经格式化成功了。接下来我们看 rotation, 我想要实现的弱推群效果是小速位速首先降下来,还要在后面加一个度的符号,因为现在的单位就是度 degree, 那这又如何格式化呢?我们点开 text expression builder, 这里使用的是若推选这个数据,那其实我们有一种比较灵活的方式可以实现我们想要的目标, 那就是首先我想将这个数据格式画好,所以我一样在后面写 format, 首先将前面的数据或 起来,然后在后面加一个制服串,这个加的符号就是子字符串跟字符串的相加,这点跟 c 语言的表达方式是一模一样的。 好,现在我缺一个度的符号,所以我可以打一个空格,然后将我的语言切换成为中文,敲一个度,找到度的符号点。 ok, 我们直行看一下,这个时候我们就能够找到度这个符号了。 ok, 通过刚才这种表达方式,其实我们就可以形成很多种组合,所以 里面并不仅仅只是紫禁一个 tag, 我们还可以有很多运算服,如果你想要更多的运算服,可以点击方审,这里面有更多的选择。 ok, 最后我们再看相字度,如何将现在这个数据转换成百分符号呢? 那当然我们也可以有比较曲折的做法,比如说将现在这个数据乘以一百,然后再将它转换成为一个自助串,最后再加一个百分符号,我们可以快速的实现一下, 然后我再将他们整体 pomat, 这一次我们保留两个小数位,整体返回的是一个 string, 最后我们再加一个摆放号,我们运行看一下,哎,现在就正式我们想要的结果了。 除了这种方式之外, msdn 还提供了一种更简洁的方式,我们找到刚才所打开的链接,在底下我们可以找到 p 这个符号,它正式将一个数字转换成为百分符号的标志。 使用方式就是双引号里面填 p, 然后写上自己想要保留的角数位数,我们再使用 p 这个符号改写一下,这部分就不需要了。 ok, 我们写 p 这个大小写都是一样的。 p 二, ok, 我们看到结果也是这样子,这样写起来就会更便捷。我们留意到现在这个 xy rotation etc 他们本身的数据并没有产生任何变化, 所以我们刚才在配置上面所做的这些动作,全部都只是返回了另外一个 string, 而不是修改 tag 本身。 那我们在日后的项目开发当中也要留意,想要格式化一个字串,我们不能够直接将这个 tag 内容修改,而是应当使用 especially beauty 来进行格式化。好了,那我们今天的内容就到这里,谢谢各位。

大家好,我是 viana, 今天我想给大家介绍一下 designer 里面的 script vlog 以及 tag association 功能。 我们将这两个功能放在一起来讲,是因为这两个功能经常会连在一起使用。 好,首先让我们来了解一下现在这个程序的功能。现在这个程序是对零件进行拍了 max 定位,然后将定位的结果显示出来, 并且使用了佛马的功能,将 tag 的值输出为我们想要的格式。但这个程序并没有对零件的 okng 做任何判断,下面我们就想根据零件本身的偏转角来判断他是 否合格。我们以十五度为攻差范围,现在就是合格品。这个零件偏转角就超出了十五度,视为 n g, 而这个零件是 ok 的,所以一共有两个 ok 品,一个 n g 品。 好。让我们看一下程序流程,程序流程就是简单的获取图像,之后使用 toolblock 里面的 parmas 功能将定位结果输出。 其中我们想要做判断的就是 rotation 这一项。那如何做 rotation okng 判断呢?这个时候我们就需要使用到 script blog 这个功能, script blog 就是 task 底下的一个 工具,所以我们可以在 task 的 top box 底下找到 script 这个选项下的 script look 拖拽进来。 这个不唠嗑现在没有任何的输入输出,我们可以双击他来添加他的输入输出。 我们需要对 rotation 作为判断,那肯定需要一个上线和一个下线,所以我们可以添加 upper, 使它字为 double 类型,再添加 lower 也是 double 类型。 return type 应该返回一个 buying 类型的值,就是判断结果去误或 force, 所以我们勾选上 return tap, 使用它默认的 bulling except, 程序就会跳转进入到 script log 的编辑框,那我们要写的代码就在这个里头。 我们回到 task 底下,就会发现这个 script 有两个输入,一个输出,但好像我们还小了,一个输入就是裸推性本身,所以我们需要再添加一个 input, 但是当我们双击的时候,程序就会直接跳入到 script vlog 里面,而不会出现我们最开始所看到的 inboot up 步入边际框, 那这个时候我们如何去添加音铺的 oppo 的呢?当我一旦完成第一次的音铺 oppo 部队编辑以后,想要进入到哪个编辑框,我们就需要使用鼠标右键选择 reconfig script i o, 这样又可以找到我们刚才所编辑的对话框了。 好在这我们添加一个叫 value 的对象,使它也置为 double 类型 except, 这样三个眼角就有了,一个是 up, 一个是 lower, 另外一个是 value。 我们看到在这个代码的编辑框当中,最上面一行就是指的当前这个 script log 他被执行的方法,而他是带有三个数参数的。 看到这种写法大家会感到很熟悉,因为这就是一个标准的最 sharp method, 我们刚才所添加的三个 input 就是它的三个输入参数,而返回值就是这个布偶对象。 好了,现在我们就可以来实现这个方法的具体内容了,其实这个里面本身就是 c shap 的语音,所以我们可以直接写 if value, 这个 value 就是输入参数 大于 lower, end value 小于 upper, 那就 turn truth else return force。 我们不需要在外面打奸过号, 这个框本身就可以当做是一个进口号。好的,编译一下成功了, 那我们回到 sevens 一下,如果我这个时候执行的话,程序就会爆错。记性说未将对象引用设置到对象的实力,也就是子,我们现在并没有提供音部的具体值,那程序就会爆错, 所以我们需要指定一下每个眼角的直达来源。对于 appa 和 lower, 现在我们并没有相对应的 tag, 那我们可以直接在这里 align a new tag, 我们将它命名为 inspection, 点 configure, 点 rotation 的 upper。 这里用同样的方式 down lower, 而这个值已经存在在程序当中了,它就是 inspection in results in rotation。 所以我们可以直接 authentic tag rotation。 再一次运行,程序就没有报错,然后 script block 返回职就得到了更新。 但现在都是 force, 那是因为我们的 upper her lower 本身两个字都还没有给它指定范围, 他们默认值等于零。我们可以找到 tag manager 这,那我们可以给他指定一个值,我们想在程序出手画的时候给他指定,所以我们双击 on start up, 然后写 inspection, 点 config, 点 rotation, 点 upper 等于十五, 类似的点 lower 等于负十五。 ok, 这底下是运行成功的,我们再回到 task 底下运行 for us two two okay, 所以 scrape plug 已经起作用了,我们已经拿到了想要的 okng 信号。那接下来我们如何在界面上体现这种信息的变化呢? 我想在若推选的旁边,当产品 ok 的时候,灯显示的就是绿色,否则就显示红色。我们看一下这个功能如何实现。想要极限汽车状态灯, 我们可以在 graphics 底下找到一个叫做 alex 椭圆,然后我们可以指定他的大小为二十二, 再将它挪到 rotation 的旁边。 okay, 但现在它的填充值是 transparent, 也就是透明的,没有任何填充值。那我想要将它作为绿色, 但如果我就这么写的话,在这选的数据是不会变化的。如果我希望他的颜色会变化,我还得通过灰色小点来动态绑定数据。打开 espression build, 那他应该与哪个 tag 相绑定呢?他应该是 跟我们刚才所建立的 scrape log 判断结果想绑定,但我们的 scrape log 刚才没有给它绑定输出词,所以我们在这儿还需要添加一个 tag, 使它命名为 rotation in check。 再回到配置上,选到 color, 选中刚才所建立的这个 tag inspection check, 但是我们这时没有办法点击。 ok, 底下提醒说 missing association。 我们再点开来看,可以找到它,里面提示说, cannot convert from citantine booling to your citizency and windows demedia。 点 color 意思是指 我们现在手给的这个值。他本身是一个布领的对象,但是卡了并不是一个布领的对象。因为卡了不只有红绿两色,还有很多其他颜色,所以我们不能够直接强制将一个布领转换成为有很多选择的卡了。 那如何建立我们想要的一个效果呢?如何使布领为 two 的时候显示为绿色,为 force 的时候显示为红色呢? 这里我们就需要使用到 association 这个功能,就是在这个位置。大家留意一下,如果我们没有给他任何 tag 的时候,这个 association 是灰色的,但一旦我们给他一个 tag, 那这个 association 就能够供你选择。我们点开看到这样一个对话框,叫做 binding associations, 它的意思是这样子,这个复选框选中就是 two, 去掉就是 force, 所以现在的状态是 fast 就为黑色。如果我们直接这样添加,就是这样一个逻辑,但是这不是我们想要的,我们要的是 fast 为红色,所以我们可以在这修改成为红色 q 的时候为绿色。那我们就把勾勾选上,然后选中绿色,记得在这里一定要加,否则的话它就不起效果。 now accept 好了, association 为绿色。现在已经能够点击 ok 了,我们看一下运行效果,这个是十二度 ok 的,十五度 n g 解释为红色, 零度为 ok, 选择为绿色,这就是我们想要的一个效果。这就是我们今天所要给大家介绍的第二个功能, association。 现在我们将这个文本的颜色也跟刚才一样,与 script blog 结果进行绑定, 我们也可以选择卡了这旁边的灰色小圆点进行动态绑定,一样 写入相应的 tag, 然后点 association force 选为红色 添加, too 选为绿色添加。我们仔细看一下 binding association 这个逻辑,它的意思就相当于一个 if l 的判断, if check 为 force, 那么就返回红色,否则的话就返回绿色。所以通过这种方式产生了一个波岭对象与一个卡拉对象的一一对应关系, 这就是 accession 本身的意思, accept okay, 我们运行看一下效果,绿色,绿色,黄色 ok。 实际上 social 选不仅仅可以用在颜色的处理上,在其他方面也能够发挥他的功能。比如说弱推选为红色的时候,我希望字体更大一些, 那我们就可以找到 font side, 这里点击灰色小圆圈,一样是跟我刚才的 check 相关联。然后再点击 society, 选择 fos 的时候,字体的大小为多少?比如说给他为三十加 two 的时候呢?给他二十,保持正常的字体,这样也是一个 if else 的逻辑判断。再扔了一一对应的关系, accept okay。 我们 看一下程序的变化,绿色黄色,黄色的时候这整个字体就变得更大,而绿色时候就会比较小,这样就能够实现一个报警的作用。 好了,我们今天有关 script blog 以及 taca association 的知识就介绍到这里,谢谢各位。

大家好,我是 fayenna, 今天我想带大家一起来制作一个简单的 desiant 的应用程序。 在这个应用程序当中,我们将使用到导入图像库的功能,以及如何使用 vc pro 的 parmax 对他进行定位,最后将所得的结果在界面上显示出来,现在就让我们开始操作。 我们想要实现一个视觉应用,首先必须要提供图像来源,所以我们首先需要在 designer 的 devices cameras 底下去创建一个新的 camera。 如果这个开门已经连好了,并且使用这个伊 configurate 配置好了 ip, 我们就能够在这个项目底下找到相应的 camera。 但由于现在我的电脑并没有连接 camera, 所以我们改用 image file 的方式,那这个时候我们应该选择底下这一项 imi file device。 首先我们需要提供这个英迷法奥迪 ys 的名字, 比如说我敲 sauce image 程序报错提醒说 name can only contain letters, numbers and underscores。 一个 dwife 名字只能够包含字母,数字和下划线。现在我们在 boss 和一米七中间包含了一个空格,那这样的名字是不 不合格的。我们也可以看到在这个名字外面有一个红色框,如果我将这个空格离出的话,这个框就会变成绿色。这个名字是合格的,我们就可以 accept。 接下来我们再双击 sauce image, 直进他文件的路径。我们选择 choose file, 然后引导到第一盘的康莱士目录底下 vegetable images, 选择 bracket kosgd except。 图像来源已经有了,那我如何去把它用起来呢?我们知道在 d 灾的里面,所有的流程都是 在 task 里面创建的,那 task 又如何去使用现在这个 sales image 呢?如果我们将它直接拖拽到这个上面,是没有任何反应的,我们可以做的事情是选择 top box 去找到 devices, devices 底下就出现了一个叫做 sauce image 的对象,而这个对象是可以被拖拽到 task 点,这个是底下的。 我们看一下这个 sauce 英语句是怎么被添加进来的呢?我们可以将建在这个英明 file device disconnect 掉, disconnect 就相当于 delete, 不是断开连接,而是完全删除。一旦我们删除,在拓爆 底下就不再有 devices 这个设备了,而我们再次添加 devices 又出来了。所以托 bug 底下的 devices 是会随着我们在 explorer 的 devices 底下所添加的设备来变化的。有一个它就会添加一个,如果我再添加另外一个, 这个里面就会有两个 dys, 如果我在 comek 神里面添加其中某一项,那这个 dys 里面也会有内一项的选择。 ok, 现在我们把第二个薏米 fo 去掉,是 用第一个再次将它拖出来到 task 点 c 款式里面,现在大家看到的一个圆角方块就可以称之为 task 底下一个功能模块, 这个模块它本身的功能就是提供图像来源,而他右侧的这个小圆圈就是他的一个输出。 在右下角 property 显示的内容就是它相对应的内容。假定我们现在想将它的名字改成 false image, 我们就可以将后面这部分删除。 ok, 同样我们还可以添加一些 comments, 比如说这是 camera 一的 see you later condition, 默认情况下它都是为 chill 的程序一定会执行到这个步骤,但如果我们希望他有条件的执行,我们就可以点开这个浏览按键去设置他的使用条件。 好了,图像进来,我们想调试一下,我们就可以点击 task, 点击这款词左上角的这个三角形的图标, 程序爆红,在这个 lock 的左下角出现一个红点,然后中间出现一个红线,表明程序出现问题。 我们在底下可以找到原因。底下提醒说 socimichi 经历了一个 exception 卫生 设置文件名,那是因为我们刚才在添加第二次塞西米的时候没有指定他的文件路径,所以我们需要回到塞西米去双击,然后重新 to file accept。 再次运行,左下角的这个小灯就变绿色了。这里有个时间就是指的这个模块,他本身所耗用的时间是三十二点四毫秒。 而这个时候,如果我们把鼠标放到右侧的这个小圆圈上,我们就可以浏览到一幅图像,这幅图正是我们所提供的图像来源。里面的第一张图 这个状态就表示 task 点 c 款运行成功。 好了,接下来我们想要对这幅图进行定位,想要使用 polo max 对他进行定位的话,我们至少需要使用到 vision pro 的功能。那 vs pro 如何被调用出来呢? 在 decenter 当中, vision pro 已经成为 designer 的一部分,我们想要将它调出来,只需要在 task 的 toy box 底下找到 vision, 往底下选,选到 vision pro 里面有一个叫做 toy block 模块, 我们将它拖拽进来,就能够看到一个带有微生 pro 图标的 block, 这个 block 他的眼角是朝左的,朝左的意思表示输入,朝右表示输出 啊。我们看到现在这个 topluck, 他需要的是一个一米级的对象,一个需要图像,一个有图像,那这两个之间应该能够产生关联。 我们可以用鼠标中间的滚轮放大整个图,然后鼠标右键拖拽,找到一个合适的位置, 这样就要看的比较清楚。这个时候我们如果鼠标按住 sars 精品时的这个小圆圈往外拖拽的话,我们就能够拉出一条蓝色线,这个时候如果松掉, 蓝色线会消失,但如果我们将这个蓝色线引到 topluck 的小圆圈里,它就会变成绿色,我们这个时候松开这条线就会保留下来,这个连接就这里了。 好,我们运行一下。现在图片就由 socimeter 传入到了 topluck, 那如何编辑 topluck 呢?我们可以简单指示双击就会进入到微信 polo 的 toplug 编辑界面, 中间这一大块都是我们所熟悉的编辑环境,所以在记单乐里,微生 pro 就作为其中一个模块而存在,这就是输入的图像,那我们现在就可以 用怕 max 对它进行定位了。在右侧我们留意到刚才的 toolbox 又变成了 vision pro 的工具箱,如果我切回配置,他就是配置的工具箱,切回到 task, 他就是 task 的工具箱。 到了微生朋友里面,他又变成了微生 pro 的工具匠,这样的话操作起来就非常的方便。好,我们拖拽一个 pm 赖兔,传入图匠推他进行定位, 但这个图太斜,我想要一个正的图像,我如果在这个里面去切换的话,程序是不 不会有任何的图像更新,因为我点击这个运行只是 cctoblog 在运行, 而图像本身并没有藏人,传述也是他没有运行。所以如果我想要更新图像,我得点这一项,然后再切到这里来看一个效果。但是这两个切换过程显得很麻烦,这里点一下,又到这里来看。 如果我想同时去看的话,有一种办法就是我将这个 table 拖出来这一个悬浮的状态, 然后我再点他是底下的运行,这样的话我就能够同时看到效果了。好,现在我就在这个界面对他进行定位。 ok, 三幅图都已经成功的被定位到了。如果我想再将这个窗口移回原来的位置, 那我可以拖拽他,然后找到这样一个实质的浏览窗,将他放到我想要的位置,比如说放到下面,那就是两个窗同时看,这样也行, 这是回到原来的配置,放到中间,那就放回最大的这个编辑框了,我们将它拖到最后一项好了。现在程序流程已经完成 最后一步,我想将定位的结果显示在界面上,但现在大家所能够看到的这样的图景并不是真正的结果,因为它是在 top 的底下的,它只是一种调试手段, 真正想要产生结果是在配置里面的。配置里面我们现在没有什么东西运行的时候是一边空白, 那我们想将拍了 max 识别的结果显示在这里面。首先我们需要拉出一个显示框,我们可以在配置的 toolbox 底下找到 v 神这个选项 里面找到 visual display, 将它拖拽出来。 display 显示内容是从哪里来的呢? display 的显示内容是通过他的属性来设置的,我们看到在这个属性栏当中,我们能够找到一个叫做 subject 的对象, 这个对象就是我 display 想要显示的内容,现在他是什么都没有,那我如何去指定他想显示的内容呢? 我们可以通过左侧的这个小灰色的圆圈来进入选择他想要的主见内容。我们看到在整个 dcp property 当中,除了 subject 有小圆圈之外,其他的项目包括长宽, s, y 以及 background 等等这些信息都有这样的灰色小圈。这种小圆圈我们称之为动态绑定数据的入口, 而右侧像这些空间,他有的这些值我们称之为静态数据。 所以我们如果想要给一个 pro 体固定的值,那我们就可以通过静态框来输入。 但如果我们想这个值要随着我程序的一些结果产生变化的话,那我们就需要使用这个小圆圈作为入口去动态绑定数据了。好,现在我们就来绑定 subject。 我们点击小圆圈, 程序就会弹出一个 expression build 的浏览窗,在底下我们可以找到一个叫做 no banding 的值,就是子,我们现在没有给他任何数据,点击这个下面的箭头,这里会有更详细的介绍。 想要绑定一个结果,我们可以直接选择 tag selector, 程序就会弹出一个浏览框。那我们想要的结果究竟在哪一个目录底下呢? 他应该是在 task 点 sequence 底下,所以我们可以找 tasks 点 task, 我们留意到这个路径跟我们在 explorer 这底下的路径是完全一样的,其实它就是在指示 explorer 底下的这个 task, 我们再往下走应该就是 sequence, 我们找到 sequence 好,这个问题下又会有 tour block, 所以我们找到 tower block, that's wrong。 巴拉 max 这个工具就已经出现了,如果我们这个时候点 accept 出去,不会往下直行, 因为这个工具本身并不是一个一米几的对象,或者是一个 rap 的对象,所以我们还需要再往下选一层,找到一个类型相匹配的对象, 这是一个 vision pro record 对象,那这个是可以的,我们就点 except。 当我们保定好之后,底下的 这个经济就提示说, results 是 visible implementation 的 clock record, type 是 clock record, value 是 clock record。 ok, 这就绑定成功了,我们就点 ok。 接下来我们就直接点运行 程序,就会显示出一个运行图片效果,但我们现在没有办法看到下一个图像,因为我们并没有设置如何去触发这个图像,这就相当于一个相机没有触发功能。 所以接下来我们想要在这个界面上添加一个 button, 使他能够触发图像的更新。我们找到 top box 以下的 user control 里面的 button, 将他的内容改成 trig, 他的字体大小改为二十四, 然后将它置为粗体。如果这个时候运行程序也不会产生结果,因为我们没有对巴腾的这个克里克事件进行定义, 所以我们还需要在巴掌的属性里面找到 click come on click 事件的响应命令。 我们可以在下拉菜单当中找到非常多的选项,那我们究竟应该选哪一项呢?我们知道 想要使这个程序得到更新,我们能做的事情就是在 task 底下再次点击运行,所以我们回到配集上这个 trig 的 come on 的,我们应该选择最底下有个叫做 task 点, task 点 run, 这个指令就相当于我们在这点击运行是一样的。让我们运行一下,看一下效果。 这个我们看到图像已经得到了更新,结果也在不断的显示,这就是我们最终想要实现的效果。 我们今天学习了如何使用一个 image file device 来读取我们的图像文件,然后在太 里面调取相应的 device, 使他作为一个 block 被 task 所使用。接下来我们再使用一个 toolblock 模块,在里面添加微信 pro 的功能,使得我的图像被处理完成。 接着我们在配集上面添加了一个 cog display 空间,并使他的图像来源跟我 task 的运行结果相关联。 观念完成之后,这个灰色点就变成绿色的。最后我们再使用一个 tree button, 是他每次被点击的时候都触发整个 task 的运行。我们就是通过这样的方式是 task 与配给产生关联的。当然这 关联动作不一定是要这样子,这个关联动作可以有很多种可能,如何关联都是根据我们的需要来决定的。好了,我们今天的课程就到这里,谢谢各位。