(1)实现功能: halcon中调用smallest_rectangle2()函数获得仿射外接矩形(旋转外接矩形),返回的是矩形的中心坐标、角度和长短轴长度,但是在有些时候需要使用的是仿射外接矩形的四个顶点坐标。 本文实现的功能是通过矩形的中心坐标、角度和长短轴长度获得四个顶点的坐标。(2)实现代码: smallest_rectangle2 (O
如下图,想取得这根条状物的突出来的“刺”。寻找图中边缘突出的部分,解决思路:1、阈值分割,找出黑色部分2、生成一个小矩形作为StructElement,进行opening操作,即可找到如下图的部分3、与阈值分割后的进行difference操作,即可找到突出部分,后面再进行求取突出的最边缘部分。上代码:read_image (Image, 'C:/Users/gongyong/Desktop/第八讲图2.bmp')
decompose3 (Image
第四个要掌握的定理是正弦定理,它指的是:在任意一个平面三角形中,各边和它所对角的正弦值的比相等且等于外接圆的直径根据正弦定理,图4-6-2会有几个比较有意思的特点:只要BC边不变,其它两条边无论怎么变,∠A一定是30°任意一对边和其角的正弦比值一定等于这个圆的直径20勇哥用CAD验证了一下第一点。也验证了第二点。CAD的计算结果:三角形的外切圆的直径是57.75注意:由于CAD的测量时存在结果精度与测量捕捉精度两种精度问题,因此对于其结果我们只用看近似值好了,不可能完全一样的。下面的结果证明了定
勇哥说的这个话题的起因是追求极速的拍图速度。机器ppm不达标的情况下,往往对视觉的处理速度有变态的要求,为了争取处理时间最短,几十毫秒也要争取。halcon的接口是通用接口,其速度是比不上相机厂商自己相机配套的SDK的采图速度的。下面程序运行后,500w的CCD拍图的时间(不算显示时间)达到惊人的32毫秒,如果用halcon接口,最快的我见过是180毫秒。using Basler.Pylon;
using HalconDotNet;
using System;
这篇主要是C#和Halcon的混合编程,写给新手们看的。halcon源程序:dev_open_window(0, 0, 512, 512, 'black', WindowHandle)read_image (Image, 'C:/Users/Administrator/Desktop/猫.jpg')dev_display(Image)get_image_size(Image, Width, Height)rgb3_to_gray(Image, Image, Ima
调用halcon引擎有两个直接的好处:避免C# 与halcon代码混编时可能产生的内存泄露问题修改halcon程序时不用重新编译C# 勇哥写了一个示例,详细的应用感受和缺点限制勇哥会持续做相关的总结给大家分享。对于halcon17来说,要运行下面的程序,你要引用halcondotnet.dll
hdevenginedonet.dllusing HalconDotNet;
using System;
using System.Collections.G
余弦定理如下,三角函数中6个必须掌握的公式,这是第3个。先来推导一下。如图4-1-1中,ΔABC中,已知∠A=60°,b=10,c=15,求a的长度。60°角的三边比是 1:2:√3以此可以求出e,h(1) e/b=cosA ∴ e=b*cosA (2) h/b=sinA ∴ h=b*sinA (3) d=c-e=c-b*cosA (4) a2=h2+d2  
见下图,求三角形ΔABC的面积。 按三角形面积公式 (面积=底×高÷2。其中,a是三角形的底,h是底所对应的高)设底边b=20,经过顶点B作底边CA的垂直线,则点H就会落在CA的延长线上,BH就是三角形的高h,这和图3-1-2测量海拔高度是一样的。在做高h时,我们创建了一个三角形Δ由于h/c=sin40° ,得h=c*sin40° ∴ SΔABC= 1/2*b*h=1/2*20*18*sin40°通过上述推导,说明了钝角的三角函数是如何求取。(求补角的方式)其实同时
三角函数里有许多公式,需要牢牢记住的只有6个,其它的都是其的变形。证明公式(1): a2+b2=c2a2/c2+b2/c2=1(a/c)2+(b/c)2=1假设∠A=θ ,则a/c=sinθ, b/c=cosθ∴ sin2θ+cos2θ=1证明公式(2)利用60°度直角可以验证公式(2)tanθ=sinθ/cosθtan60°=sin60°/cos60°=(√3/2)/(1/2)=√3下面来证明公式(2)tanθ=a/btanθ=(a/c)/(b/c)∴ tanθ
首先,我们先来看看这个数的倒数:其实矩阵的逆矩阵也跟倒数的性质一样,不过只是我们习惯用A-1表示:问题来了,既然是和倒数的性质类似,那为什么不能写成1/A?其实原因很简单,主要是因为矩阵不能被除。不过 1/8倒可以被写成 8-1。那矩阵的逆和倒数还有其他相似之处吗?当我们将一个数乘以它的倒数我们得到1。8 × (1/8) = 1当一个矩阵乘以逆时,我们得到了单位矩阵(而单位矩阵,其实也就是矩阵中的“1”)。A × A-1 = I而此时我们将矩阵的逆放在前面,很明显,结果还是一