[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

C#代码  实现点在多个二维坐标系中进行换算(坐标映射)

在机器视觉中表示两个坐标系的映射关系一般用矩阵表示 。下面的知识则是使用三角函数推导两者的关系。(一)坐标系原点旋转的情况如下图所示,有两个坐标系,绿色的XOY, 红色的X'OY'。点P(x,y)在坐标系XOY中是(300,350),现在我们想求点P在红色坐标系X'OY'中的位置?我们按推算公式一计算一下,则:x'=OD+DF=x*cos(20)+y*sin...

坐标旋转变换公式的推导

我们知道autocad中的ucs指令可以变换坐标系,然后可以查询同一个点在不同坐标系下的位置。勇哥想实现这个功能,因此先收集一些资料。1 围绕原点的旋转如下图, 在2维坐标上,有一点p(x, y) , 直线opの长度为r, 直线op和x轴的正向的夹角为a。 直线op围绕原点做逆时针方向b度的旋转,到达p’ (s,t)s = r cos(a + b) = r cos(a)cos(b) – r sin...

affine transformation matrix 仿射变换矩阵 与 OpenGL

变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型。可采用的变换模型有如下几种:刚性变换、仿射变换、透视变换和非线形变换等,如下图:参考: http://wenku.baidu.com/view/826a796027d3240c8447ef20.html 其中第三个的仿射变换就是我们这节要讨论的。仿射变换(Affine Transformati...

机器视觉常见数学公式回顾(一)

机器视觉常见的数学公式很多,下面的贴子会由浅到深依次跟贴下去,以方便大家查阅与记忆。(一) 6个必须有记住的三角函数公式:(二)直线方程相关(1) 直线斜率 经过两点P1(x1,y1), P2(x2,y2) (x1≠x2)的直线斜率的公式:(2)两点之间的距离 平面坐标空间坐标(3)两点式直线方程(4)直线的一般方程(5)两直线交点例题:(6)点到直线的距离 例题:(7)两条平行线间的距离 (三)...

三角函数在图形学里的应用(六) 激光头的同轴度校准原理

这一个应用不是图形学的应用,它是在校准上下激光的同轴度时的应用。非图形学的应用比较少,所以就不另起应用类型了吧。(图1 同轴度校准原理)图中 L 为上下两束光的水平距离,h为标准量块厚度,a 为标准量块倾斜角度,H实际测量值。如图 3.7 所示给出了上下两束激光的三种分布关系,a:上激光束在下激束右侧,b:上下两束激光同轴,c:上激光束在下激光束左侧。在标准量块此种倾斜方向下,当光束分布如 a 所...

Halcon计算一个点旋转指定角度并且偏移到指定位置

怎么让一个点按指定的角度旋转并且偏移到指定的位置上去呢?这个其实就是旋转与偏移二合一矩阵的应用。halcon的算子vector_angle_to_rigid配合affine_trans_pixel就是这个作用如下图所示,勇哥希望两个极耳朵中间那个点按电池的角度旋转并且位置于电池本体的中心上去。read_image(Image, 'C:/Users/Administrator/Desktop...

三角函数在图形学里的应用(五) 把直线移动到指定点

(应用6)已经直线的起始端点与终止端点,把这条直线移动到指定的点勇哥先放上halcon写的函数moveline的代码,它的作用是把一条线移动到指定的点。resultLineStartPointRow := 0 resultLineStartPointCol := 0 resultLineEndPointRow := 0 resultLineEndPointCol := 0 projecti...

三角函数在图形学里的应用(四) ​已知矩形的中心点、边长、phi求四个顶点的坐标

已经矩形的中心点、边长、phi求四个顶点的坐标 在halcon里面,类似gen_measure_rectangle2、smallest_rectangle2的算子表示任意角度的矩形。其信息包括:矩形中心点 row,column矩形角度 Phi矩形区域的长和宽的一半 Length1, Length2如下图所示:(图1)就没有没直接给出矩形4个顶点坐标。有时候想知道4个顶点的坐标怎么计算呢?由于勇哥手...

三角函数在图形学里的应用(三) 三角函数画圆法

三角函数画圆法画圆可以用圆的方程来画。原点为圆心,半径为r(r>0)的圆的标准方程为x^2+y^2=r^2也可用三角函数的方式来画。下面是画圆的C#代码:/// <summary> /// 利用三角函数画圆 /// </summary> /// <param name="radius"></param> /// &l...

三角函数在图形学里的应用(二) 点绕原点旋转(方法2)、点绕任意点旋转

点绕原点旋转(方法2)和上一篇《三角函数在图形学里的应用(1)》中的条件不同的是,现在我们不知道OP0和OP1有多长。还是要求p0绕着圆点绕到p1,求p1。图1已经把公式推导了出来。(图1)其中1式与2式的推导过程,上图可能有点没解释明白,这里勇哥详细推导一下:x1=L*cos(a+b) x1=L*(cos(a)cos(b)-sin(a)sin(b)) x1=L*((x0/L)*cos(b)-...

三角函数在图形学里的应用(一) 点绕原点旋转

之前勇哥写了《三角函数超入门》系列的贴子。接下来继续写三角函数在图形学方面的应用。点绕原点旋转如图1,线长OP=OP'=r,点(x,y)以圆点O为旋转中心,逆时针转了b°,求P'(s,t)?解: s= r*cos(a+b) t= r*sin(a+b) x=r*cos(a) y=r*sin(a)(图1)勇哥画了个CAD的图,用来验证一下上面...

直线与方程(一)倾斜角与斜率

在平面直角坐标系中,怎么确定唯一的一条直线?答案是:直线上的一个定点以及它的倾斜角,二者缺一不可。坡度(图1)生活中使用用“升高量与前进量的比”表示倾斜面的“坡度”,即:坡度(比)=升高量/前进量例如,“进3升3”,“进2升2”,指的坡度比为分别为: 3/2, 2/2,前者改陡一些。斜率如图1,坡度比实际上就是tan(a),即倾斜角的正切。我们把一条直线的倾斜角a的正切值叫这条直线的斜率(slo...

三角函数超入门(14) 加法定理

直接写出加法定理:可见,sin(a+b)并不简单等于sina+sinb。之前说过,在三角函数中我们只需要掌握6个公式(其它的做到可以推理出来),加上这两个,就齐全了。而tan的加法定理可以通过tanθ=sinθ/cosθ推导出来。tan(a+β)= sin(a+β)/cos(a+β) =(sinacosβ+cosasinβ)/(cosacosβ-sinasinβ)这个等式右边也用tan来表...

三角函数超入门(13) 用长度来度量角度(弧度制)

如下图,我们把角度看作是扇形的圆心角来思考,如何用长度来度量角度。圆心角的大小与其所对应的弧度成正比,所以可以用弧长来表示角度。在图8-10-1中,θ1:θ2=L1:L2,如果L2是K1的2倍,则圆心角θ2也是圆心角θ1的2倍。也就是说,角度比等于弧长比。但是,弧长本身是随扇形大小即半径不同而产生差异。这样,圆心角的度数就可以用弧长和半径的比例来表示。如图8-10-2,同一圆心角的两个扇形互为相似...

三角函数超入门(12) 改变振幅、移动中心

我们知道,振幅就是振动中心到最高点或者最低点的长度。如果改变一个函数图象的振幅、移动它的中心,图象会变成什么样呢?例子: 比较函数y=2sinθ和函数y=sinθ的图象。如下图,y坐标表示图象的高低。把y=sinθ的图象的高度沿着y轴上下伸长两倍,就得到了y=2sinθ的图象。仔细观察这两个图象,就会发现有无系数2不会改变函数的周期。例子2: y=1/2*cosθ和y=-1/2*cosθ通常,函数...

三角函数超入门(11) 三角函数的图形(正切)

由正切一定义,得tanθ=y/x,令x=1,则tangθ=y,所以tanθ的值就是纵坐标y。下面来看看正切函数的图象。-90°到90°的区间内,直接把左图的y值平移到右图,图象呈光滑曲线。tanθ的图象的一个非常显著特点是:不连续性。当θ=±90°,±270°,±450°...时,图象是一段一段断开的,终边都落在y轴上。整条曲线处于无限接近某条纵线的状态,但永远不会和那条纵线相交。通常,一条曲线无...

三角函数超入门(10) 三角函数的图形(余弦)

如下图所示,cosθ=x/r, 即x=cosθ。我们习惯把纵轴变成y, 于是函数可以写成y=cosθ。我们把图7-2-2(cosθ)与上一篇的图7-1-3(sinθ)仔细比较一下。(勇哥为了方便大家观察,引用如下)可以看到,cosθ就是sinθ从90°开始的部分。所以这cosθ和sinθ的图象完全一样。两者的周期都是360°。我们可以说:cosθ的图象是sinθ的图象向左平移90°得到的。也可以反...

三角函数超入门(9) 三角函数的图形(正弦)

所谓函数: 指的是变量与自变量的关系 其中,变量是随着自变量的变化而变化的,自变量决定变量例如,y=2x2+1当x取值1,2,3,4 时,y都有一个对应的值。y就是变量,x就是自变量。我们称 y是x的函数。y=sinθ的图象我们令r=1,则无论θ的终边在什么位置上, sinθ=y/1=y。也就是,θ终边上的点纵坐标y就是sinθ的数值。如图7-1-1所示,在平面坐标内,以原点为圆心,半径为1的...

三角函数超入门(8) 角度转换

利用终边位置的对称性就可以使得对任何角都能进行sin、cos的互换。例如:(1)sin(-35°)(2)cos230°(3)tan(-220°)(4)sin(-220°)解:sin和cos的互换如下图:之前学的直角三角形中和为90的两个角的三角比如何互相转换的。sinθ=cos(90-θ) 如上图中两边都是a/ccosθ=sin(90-θ) 如上图中两边...

三角函数超入门(7)三角比扩展到三角函数

如果把角θ看作以原点为中心的像钟表指针一样旋转射线的旋转角的话,三角比就扩展到了三角函数。在射线上取一点P(x,y),OP的长为r(r>0),这样,就可以定义角θ的各类三角函数。在三角函数中表示旋转了多少度时,-60°和300°虽然终边相同,但它们是两个不同的角。但是在几何学里,60°和300°却是相同的角。接下来看看θ变化时,三角函数值是如何变化的。首先,当θ=360°和θ=0°时终边位置...

halcon形态学分析整盘入料的物料的取料中心点位置与方向

勇哥的这个项目是整盘物料机器人视觉取料。由于该项目有两个相机,一个是整盘入料相机,用于判断物料有无和粗定位。另外还有一个下相机,用于精定位后物料入转盘机。本篇说的就是整盘入料相机的粗定位算法。这里勇哥使用的是halcon的形态学算法,相比找边的方式来说,其意义是速度快,能满足视觉一键换型的需要。read_image(backImg, 'C:/Users/hackpig/Desktop/蓝牙...

halcon中求rectangle2矩形的四个顶点坐标

(1)实现功能: halcon中调用smallest_rectangle2()函数获得仿射外接矩形(旋转外接矩形),返回的是矩形的中心坐标、角度和长短轴长度,但是在有些时候需要使用的是仿射外接矩形的四个顶点坐标。 本文实现的功能是通过矩形的中心坐标、角度和长短轴长度获得四个顶点的坐标。(2)实现代码: smallest_rectangle2 (ObjectSelec...

三角函数超入门(6)正弦定理

第四个要掌握的定理是正弦定理,它指的是:在任意一个平面三角形中,各边和它所对角的正弦值的比相等且等于外接圆的直径根据正弦定理,图4-6-2会有几个比较有意思的特点:只要BC边不变,其它两条边无论怎么变,∠A一定是30°任意一对边和其角的正弦比值一定等于这个圆的直径20勇哥用CAD验证了一下第一点。也验证了第二点。CAD的计算结果:三角形的外切圆的直径是57.75注意:由于CAD的测量时存在结果精度...

三角函数超入门(5)余弦定理

余弦定理如下,三角函数中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 a2=(b*si...

三角函数超入门(4)钝角三角比、三角形面积

见下图,求三角形Δ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°...

三角函数超入门(3)三角比之间的关系

三角函数里有许多公式,需要牢牢记住的只有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)锐角三角形的三角比

特殊三角形的sin,cos和tan内角为30°,45°,60° 的特殊三角形,其三角比如下:sin, cos, tan的一些规律解题如下题。如果只是算一算x,y是多少没多少意思。勇哥用halcon的算子来画出题意并解题。下面的代码中,我们把c=20改为c=200,这样屏幕上的线条长一点方便观察。dev_close_window() dev_open_window(0, 0, 400, 400,...

三角函数超入门(1)三平方定理的证明

这个证明三平方定理的方式比较巧妙,勇哥用autocad画了个示意图。大正方形的面积C2= 四个直角的面积+ 小矩形的面积结果就是: c2=b2+a2AutoCAD是个好东西,勇哥可以直接在屏幕上测量直角三角形的a边与b边,结果如下:距离 = 82.9038,XY 平面中的倾角 = 34, 与 XY 平面的夹角 = 0 距离 = 55.9193,XY 平面中的倾角 = 304, 与 XY...

二维点的旋转 续三(C#演示代码)

勇哥继续谈谈绕任意点的旋转。绕原点的旋转是二维旋转最基本的情况,当我们需要进行绕任意点旋转时,我们可以把这种情况转换到绕原点的旋转,思路如下: 1. 首先将旋转点移动到原点处 2. 执行如2所描述的绕原点的旋转 3. 再将旋转点移回到原来的位置 (图1)勇哥根据上述原理写了段演示代码: /// <summary> /// 点...

经典算法——绘制空心圆

在TurboC中,可以使用各种现成的函数绘制各种各样有趣漂亮的图形,而在VC中则比较难以实现。但是,我们可以用“*”当作点,连点成线,用来绘制各种线条或者图形。这就得看算法了,所谓算法就是解决问题的方法。这里呢,我们就一起来看看,在Visual C++6.0中,如何利用“*”绘制一个空心圆。大家有什么好的建议或者意见,都可以在我的评论栏里给我留言,希望我们相互学习,共同进步。第一步:建立坐标系根据...
会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864