今天有个网友问到这个add_metrology_object_line_measure算子没有角度参数,怎么做roi跟随。勇哥网站上搜索了一下,还真没有写过这样的贴子,因此制作了一个小例子,给有需要的朋友参考。代码比较简单。用了形态模板匹配来定位roi位置。第一张图用来定义了模板。中间那几个变量 a,b,c,d,e,f,g,h是roi四个边的顶点。那一部分代码实际上的作用是:已知rectangle2的中心坐标与length1,length2,求出rectangle2的四个顶点坐标位置,这里用了三
* This example demonstrates the functionality of segment_image_mser.
*
* Create artificial example image.
create_example_image (Image)
*
dev_update_off ()
dev_close_wi
segment_image_mser(Image : MSERDark, MSERLight : Polarity, MinArea, MaxArea, Delta, GenParamName, GenParamValue : )segment_image_mser使用最大稳定极值区域(MSER)方法将图像分割成灰度值均匀的区域。分割过程通过观察周围的局部区域来判断一个区域是否是均匀的。因此,该算子特别适用于非均匀背景下的鲁棒分割对象或光照变化的应用。参数:PolarityPolarity决定了
1、摄像机外参:决定摄像机坐标与世界坐标系之间相对位置关系。其中Pw为世界坐标,Pc是摄像机坐标,他们之间关系为Pc = RPw + T式中,T= (Tx,Ty,Tz),是平移向量,R = R(α,β,γ)是旋转矩阵,分别是绕摄像机坐标系z轴旋转角度为γ,绕y轴旋转角度为β,绕x轴旋转角度为α(也可以从左像右看把它理解为先绕x轴旋转α,再绕旋转后的坐标系的y轴旋转β,最后绕再次旋转后的z轴旋转γ)。6个参数组成(α,β,γ,Tx,Ty,Tz)为摄像机外参。绕z轴的旋转矩阵,若
摄像机分为两种,一种是面扫描摄像机(Area Scan Camera),一种是线扫描摄像机(Line Scan Camera)。准确来说,叫摄像机系统比较正确。所谓的面扫描摄像系统是指可以通过单纯曝光取得面积影像,而线扫描摄像机,必须利用运动速度才能取得影像。两种不同的摄像系统由于成像的过程有区别,所以标定的过程也有区别,这里仅讨论面扫描摄像系统。流程如下: 1、初始摄像机参数:startCamPar:=[f,k,Sx,Sy,Cx,Cy,NumCol,NumRow] f 焦距
勇哥先放上代码,有空时再研究一下。* Attention:
* This program reads the interior camera parameters from the file
* 'camera_parameters.dat', which, e.g., could be generated&
勇哥先上程序,后面再解释:list_files ('E:/calibration_image', 'files', ImageFiles)
TmpCtrl_AllMarkRows := []
TmpCtrl_AllMarkColumns := []
TmpCtrl_StartPoses := []
TmpCtrl_ReferenceIndex := 0
S
两根线的起始点端点值如下:1065.69,1190.38,1054.0,1193.51065.86,1190.35,1054.0,1194.0这个坐标看上去是不是几乎一样,在0.5个像素的差别内。那么两线的角度是不是就应该差不多呢?dev_close_window()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
read_image(Image,
今天在群里聊起这个halcon内存泄露的问题。有几点要注意的地方,在此记录下来。(1)hobject要Dispose,htuple也要Dispose这一点以前没有注意,好像是受了官方一个贴子影响认为htuple不用管。但是hlacon导出的C#代码里面,就注意到了这一点,htuple也要Dispose。(2)被塞入List的halcon对象,注意不能直接List.Clear()如果你这样做,内存就会泄露。正确的做法是要把List中所有的halcon对象Dispose掉,再List.Clear()
接上篇《 用autocad来验证标定原理(1)》上节把CCDA标定完成了。实际的生产过程中,我们常常会碰到这样的情况,机械手从工位一吸着对象到工位二进行贴合,但是工位二我们不方便执行标定,通常的做法是在工位一执行一次标定流程,然后使用两点映射或者四点映射把工位二的相机坐标映射到工位一的相机一中。所以下面的我们继续做CCDB的标定部分。我们先把坐标系切换到机器人坐标系。为了画映射板的图形。我们接下来对两个相机进行相机映射。制作一个映射板,上面要有4个Mark点,在CAD中勇哥就用矩形上的