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

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

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

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

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

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

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

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

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

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

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

Halcon算子学习:create_pose

create_pose创建3D位姿( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose)输入:TransX沿x轴平移(以[m]为单位)。默认值:0.1建议值:-1.0,-0.75,-0.5,-0.25,-0.2,-0.1,-0.5,-0.25...

在机器视觉里,到底什么是世界坐标系?

勇哥看到下面这图的时候,突然对什么世界坐标这个概念模糊起来。一直以来,我以为所谓机器视觉里面的世界坐标是指摄像机视野内看到的对象上面的坐标。但是上图中世界坐标的定义显然跟相机没啥子关系。其实,世界坐标是我们自己定义的参考坐标而已,你可以把它定义在任何位置。它可以在标定板上面,这时候它是为了描述相机的位置而被引入的参考坐标。(后面有示例)它也可以是在其它任何位置,这取决于你的目的。我们在halcon...

机器人工具坐标系标定原理

工业机器人使用过程中经常在机器人末端法兰面安装不同的工具来满足实际生产需求,为了准确控制工具运动的位置与姿态,需要对工具所在坐标系进行标定。三种坐标系关系如下图1所示:工具中心点位置(TCP)标定步骤:工具坐标系姿态(TCF)标定我认为工具坐标系姿态比较好标定,看上面图1,工具坐标系 的零点在枪尖末端,一旦位置确定后,姿态可以是任意的,有无数种,就看选择那种比较方便了。目前接触到两种标定姿态:工...

一种简单有效的eye in hand手眼标定方法

该方法只适用于“眼在手上”(eye in hand)这种情况。实验环境:安装时保持机器人基坐标系xy平面保持与地面平行,并标定出机器人坐标系x方向;机器人末端安装一个标定枪尖,并标定出枪尖与基坐标系的关系(工具坐标系的标定)。手眼关系是求相机 与机器人末端 的变换关系,可以用矩阵 来表示,其中计算旋转量 比较麻烦并且引入误差比 大。本文提出的标定方法如下:调整相机平面与地面平行;调整相机平...

沉浸式学习线性代数!这里有一本全交互的线性代数书

今天,我们给大家介绍一本好玩的线性代数书籍。线性代数的书籍那么多,这本却独具特色。准确来讲,量词似乎不能用「本」,因为它需要在网页上阅读,更重要的是,书里的图是可以动的,读者还可以拖动图。这种交互式图看起来很有意思~书籍地址:http://http://immersivemath.com/ila/index.html《Immersive Linear Algebra》的作者是 J. Ström、K...

如何通俗的解释仿射变换?

知乎里有些扫盲贴真是精华,讲得相当通俗易懂。 把复杂的东西讲清楚也是件不容易的事,这篇文章的作者是用了真心。简单来说,“仿射变换”就是:“线性变换”+“平移”。先看什么是线性变换?1 线性变换线性变换从几何直观有三个要点:变换前是直线的,变换后依然是直线直线比例保持不变变换前是原点的,变换后依然是原点比如说旋转1.1 代数简单讲一下旋转是怎么实现的,可以让我们进一步了解代数是怎么描述线性变换的。...

geogebra在线数学应用

勇哥在网上偶尔看到一篇讲解仿射变换的文章到有下面这种东西:上面原本是一个可以用户鼠标交互的动画,有点像flash动画。勇哥把它截图为gif动画了。这个交互动画上面有公司的名字geogebra,点进去发现是个在线数学应用的网站。网址: https://www.geogebra.org/线上应用蛮多的,如下:勇哥试了一下图形计算器。试了一下“最佳拟合直线”,发现不就是最小二乘法吗?3D计算器,暂时不知...

机器人的坐标系-安逸的机器人学

转载自:安逸的机器人学-阿凯一年前,我在1Z实验室1zlab.com上线了一门《机械臂运动学控制及Python实现》。那个时候我刚刚开始学习机器人学,理解的层次还比较浅,经过了一年的积累,又有了继续完善升级课程的想法。 思考了许久,决定将这门新的课程系列命名为《安逸的机器人学》, 在成都话里”安逸“是一个很宽泛的称呼,泛指一切美好的让人心情愉悦的事物, 比如可以说这盆花好安逸啊(这盆花, 长得很好...

勇哥的视觉实验:让镜头中心对准指定点

这个实验的目的是不用九点标定,让镜头中心移动对准视野内指的点上去。本篇是对贴子《九点自动标定---如何让相机视野中心十字对准目标物?》的实验记录。先写段halcon代码,配合xyz平台进行捕捉屏幕中心的像素坐标位置。dev_close_window() dev_open_window(0, 0, 612, 512, 'black', WindowHandle) dev_set_...

勇哥的视觉实验:眼在手上(eye in hand)的标定实验。相机挂在x,y平台上,全部九点标定特征在相机视野内可见

实验平台是一个x,y,z滑台, 如下:相机挂在了这个平台的Z轴上面. 勇哥打印了一张halcon的120mm标定板, 圆心距离已经知道了, 是12mm九点标定时就抓取圆心做为标志点. 标定纸比相机的视野稍大一些.这是在原点的时候相机看到视野:下面开始九点标定open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progr...

九点自动标定---如何让相机视野中心十字对准目标物?

我们知道图像坐标和机械坐标是相互独立的,需要通过移动9个点(常说的9点标定)的方式建立二者的关系,从而达到通过像素点的坐标关系得到机械坐标。相机的视野中心对准目标物中心这会延申到吸嘴是否准确的抓取到目标,如何达到这一操作见下(假设已经通过9点标定建立关系后,准确说方法1根本就没用到9点标定的关系式,它也不需要进行9点标定)方法1:如下图所示:假设大黑框里面的内容代表相机视野里的东西,绿色十字是视野...

为啥彩色相机拍出来的图片, 保存看到是彩色的,但是在halcon窗口内显示却是黑白的?

相机是彩色的, 用下面的代码保存为本地图片, 打开发现是彩色的.但是, 你会发现显示到屏幕上却是黑白的.dev_close_window() dev_open_window(0, 0, 512, 512, 'black', WindowHandle) open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, '...

机器人手眼标定:第四关节移动相机标定算法

声明:本文转载自公众号AmazingRobo+分享一个可任意移动,任意旋转的J4关节移动相机标定算法。只需标定一次,相机就可以在任意位置且相机可以带旋转的进行拍照。简单方便。— Edited By Hugo前言:说起SCARA手眼标定,这是第四篇了。已经基本覆盖常用平面手眼标定的方式。这些都是基于第三方实现的算法,可适用于所有的SCARA机器人。标定步骤如下:移动相机需要按机器人未端安装校准治具,...

OpenCASCADE入门指南

一、概述荀子说“君子性非异也,善假于物也”。当你会用英语,就可以与世界各国的人交流;当你会用编程语言,就可以与计算机交流;当你会用数学语言,就可以精确的描述世界。当你会用OpenCASCADE这个开发包(SDK),就可以在计算机中创造一个三维世界。大学期间,偶然在图书馆翻到一本发黄的书,讲的是用Turbo C2.0 C语言graphics.h头文件来画图的计算机图形学的书,随即对计算机图形学有了兴...

opencv基于轮廓的模板匹配

〇.算法效果展示0.1要定位的模板一找到的匹配在有污损情况下找到的匹配0.2要定位的模板2找到的匹配一. 理论部分模板匹配的算法包括基于灰度的匹配,基于特征的匹配,基于组件的匹配,基于相关性的匹配以及局部变形匹配。基于灰度的匹配一般应用在没有缩放和旋转,颜色变化不大的场合。基于特征的匹配一般应用在具有缩放和旋转,颜色变化较大的场合。在模板各个组件有相对位移的情况下,使用基于组件的匹配算法。在图像模...

单目相机标定: 一个全自动化的使用opencv的标定程序

首先使用拍照工具拍摄一些JPG格式的标定图片。然后放到特定的文件夹下,我这里是image文件夹。在标定前,首先读取该文件夹下的图片文件,获取这些图片文件的文件名,以备将来opencv读取图片使用。这样做的好处是不用特意给拍摄的图片按照特定格式重新命名,大大减小了工作量。标定时,程序会检查这些图片是否能正常提取格点,如果不能,程序自动舍去,在标定时该幅图片不参与计算。标定完成后,程序会把标定结果显示...

手眼标定_全面细致的推导过程

本文解决的问题: 机械手搭载双目相机,手眼标定。 本文有细致的推导过程,非常全面。 什么是手眼标定 确定像素坐标系和空间机械手坐标系的坐标转化关系; 为什么会存在这个? 举一个生活中常见的例子——用手移动物体: 第一步:眼睛观察到三维世界,并将其转换到视网膜平面(三维空间转换到二维平面)传送信息给大脑; 第二步:大脑想要移动某个物体,假设想要将物体从A点移动B点(二维坐标),但是...

关于实现Halcon算法加速的基础知识(多核并行/GPU)

一、提高Halcon的运算速度,有以下几种方法:1、Multithreading(多线程)2、Automatic Parallelization(自动操作并行化)3、Compute devices,利用GPU提速,如果显卡性能好,至少可以提高5~10倍的运算速度二、多线程1、官方自带的例程get_operator_info.hdev,可以查看支持多线程的算子;* Determine the mul...

Halcon极坐标转换,图文解说,含点坐标的转换

极坐标的用途把圆形的图片转换为矩形,便于字符识别和关键区域的提取。在halcon中对应的算子(1)极坐标的展开:polar_trans_image_ext(Image : PolarTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )(2)极坐...

affine transformation matrix 仿射变换矩阵 与 OpenGL

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

HALCON error #7717: For this operation the cuBLAS library needs to be available(see installation gui

勇哥手里的halcon19.11写的深度学习程序,运行没有问题。但是把它导出为一个action函数到一个项目的上位机程序上面(C#)那边去调用,结果报下面的错误:HALCON error #7717:For this operation the cuBLAS library needs to be available(see installation guide) in operator appl...

手眼标定原理实战

本篇文章已加密,请输入密码后查看。...

几何变换详解

在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),旋转变换(Rotation)。以下讨论皆针对DirectX,所以使用左手坐标系。平移变换将三维空间中的一个点[x, y, z, 1]移动到另外一个点[x', y', z', 1],三个坐标轴的移动分量分别为dx=Tx, dy=Ty, dz=Tz, 即x' = x +...

C# Drawing.Drawing2D.Matrix类,二维矩阵几何变换的3x3仿射矩阵类

本文介绍的Matrix,是.net自带的类. 其命名空间为:System.Drawing.Drawing2D注意并不是netMarketing中那个netMarketing.graphics.Matrix在GDI+中,可以在Matrix对象中存储仿射变换。由于表示仿射变换的矩阵的第三列总是(0,0,1),因此在构造Matrix对象时,只需要指定前两列的6个数。语句:Matrix myMatrix...

C# 一个gdi+中应用矩阵进行二维变换图片的例子

Introduction2D image transformation in .NET has been very much simplified by the Matrix class in the System.Drawing.Drawing2D namespace. In this article, I would like to share with the reader on the u...

Android中关于矩阵(Matrix)前乘后乘的一些认识

在上一篇文章中,我们讲到,在Android中,scale(缩放),rotation(旋转)和 translation(平移)都是以矩阵(Matrix)的形式定义的,实际上在图形学中,这些平面图形的变换都是以矩阵的形式存在的。先来回顾一下,下面,左中右分别scale(缩放),rotation(旋转)和 translation(平移)在Android中的矩阵表示:如果只是单纯的应用某一个变换,我们都知...

2D平面中关于矩阵(Matrix)跟图形变换的讲解

在二维平面上,常用的有以下三种基本的图形变化:1)Translation2)Scale3)Rotation在Android的开发中,我们也经常会用到这样的一些图形变换,尤其是我们在写自定义View时,更是会经常利用到Matrix来实现一些效果,比如平移,旋转,缩放及切变等,相信很多朋友应该很想知道,矩阵实现这种变换的原理是什么,什么是矩阵的左乘右乘,它们在实现效果上有什么差别吗?今天就让我们一起来...

3D数学基础之C#实现矩阵变换

Never put off what you can do today until tomorrow.从刚开始学unity各种组件,C#基础,API,到现在的学习Cg语言,学习shaderLab用了很长时间在细节上,有的时候一些看似非常基础的概念,大致了解下怎么用后,如果不知道其原理,那么,我认为是不可能真正的学会一种技术的。本节就来实现矩阵与向量之间的计算,,我们将自己实现向量的类和矩阵的类,这...

二维图形的矩阵变换(一)——基本概念

基本的二维变换可包括旋转、缩放、扭曲,和平移四种,而这些几何运算则可以转换为一些基本的矩阵运算:这几个变换都是线性的,但平移运算不是线性的,不能通过2*2矩阵运算完成。若要将点 (2, 1)在 x 方向将其平移 3 个单位,在 y 方向将其平移 4 个单位。 可通过先使用矩阵乘法再使用矩阵加法来完成此操作。综合这几种基本运算,数学家们将其统一为一个3*3矩阵,存储形式如下:由于表示仿射变换的矩阵的...

多路时序触发光源的应用(多光源分时序拍同一个对象最后合成图片)

一、引言在机器视觉的领域里,总会遇见一些获取适合成像比较难的项目,如:图像对比度不够、有反光干扰、有背景干扰等。这些项目通常需要消耗工程师大量的时间去反复评估项目或者调试设备。现在,CST推出最新多路时序触发光源,配合相应的图像处理算法可以完美地解决以上问题。二、多路时序触发光源工作原理多路时序触发光源控制器最多支持多达8路光源的开关及亮度控制。当接收到外部触发信号后,光源可以根据用户的设定依次点...
会员中心
搜索
«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 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