自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 旋转中心纠偏思路

只旋转U轴,得到三个像素Mark点U1 U2 U3,并且记录mark点坐标,通过仿射变换求出实际位置,这里的实际位置是在tool0下的坐标。查找模板,输出行列坐标,偏移的角度。==>相当于圆的半径,简单理解成(新工具的杆长),在took1下的实际位置,加上这个偏差值,就是新的工具末端实际位置。我们先求实例与模版角度的偏差,这里我们计算出旋转矩阵,QAx乘以旋转矩阵后,得到旋转后的新工具所在的位置。注意:这里查找模板输出的角度是- 模板转向实例的角度,而我们需要的是实例转向模板的角度,所以角度应该是。

2023-11-28 23:01:19 552 1

原创 上下相机纠偏思路

角度=-(查找模板输出的角度) ==>转度,因为模板匹配输出的角度是模板转向实例的角度,这里需要实例转向模板,所以角度前面加个负号。开启俩个线程,一个上相机采集处理,输出物料中心实际坐标,这里和机器人协商沟通,最后一个数据是1 则是上相机数据,2则是下相机数据。封装下相机像素提取,查找模板,输出实例中心X Y,根据九点矩阵,调用点的仿射变换,将行列转为实际坐标。在通讯类中,接收线程中,当接收到OK1,上相机线程人工事件对象有信号,当接收到了OK2的时候,下相机人工事件对象有信号。4.模板旋转,得到实例。

2023-11-26 22:18:46 400 1

原创 手眼标定halcon

check_hand_eye_calibration_input_poses 检查有无误差过大的姿态。b.如果是四轴:相邻俩次角度要尽量的大---取极性最好相反(一正一负)(标定的时候Z轴建议不要动)a.如果是六轴 选择俩个不正交的轴(标定的时候六个轴都可以动)4.更改相机内参,创建标定模型,设置相机初始内参,标定板描述文件。5.执行手眼标定--获得根据工具坐标相对于相机的位姿信息。3.读入保定时,保存的图片,以及姿态。第三步 更改第一次标定时候的姿态。2.标定助手,标定采集一张。

2023-11-26 16:21:22 274 1

原创 爱普生自动贴合项目

开启三个线程,一个负责左相机识别采集,一个负责右相机识别采集,一个线程负责综合计算,定义俩个相机采集标志位,俩个相机都完成采集后,标志位状态为真。右相机拍物料右侧角,采用模板匹配+俩个直线卡尺=》俩直线卡尺输出俩直线交点坐标,通过点的仿射变换得到实际坐标。同时左相机,右相机实体类的对象不为空状态下,调用图像处理类的综合计算方法,输出中和计算实体类的对象。这里把左相机,右相机,综合计算线程,用三个不同的实体类的对象,三个人工事件对象,分别管理。=(左相机mark点的列坐标+右相机mark点的列坐标)/2。

2023-11-24 23:38:23 160

原创 四轴自动贴片机+雷赛板卡c#

板卡初始化,板卡点位运动,板卡连续运动,板卡急停,脉冲计数,脉冲清零,读取个轴状态,减速停止,回零,各轴IO信号检测,外部输入信号检测,主动输出信号,设置运动参数等方法。在初始化板卡的时候,我们可以定义一个字段,用来确认板卡的状态,作为板卡打开与否的标志位,同时我们可以设置属性用来保护该字段,并且进行一些拓展,例如把底部板卡状态文字,颜色改变,板卡标志位改变的一些操作。2.Z轴先往上抬起,防止撞击,调用板卡的位置运动方法,并且循环等待,知道Z轴运动状态为停止状态的时候,才跳出该循环。

2023-11-11 19:09:50 325 1

原创 九点标定与手眼标定

3.九点标定需要在正坐标系,需要在标定位置拍照,否则需要加补偿,手眼标定可在任意位置拍照。6.在标定位置识别,否则需要加补偿(平移,选择,缩放矩阵)1.九点标定是点的仿射变换,手眼标定是坐标系之间的关系。眼在手上: t-c[工具坐标系,相机坐标系]之间的关系。眼在手外:b-c[基础坐标系,相机坐标系]之间的关系。2.九点标定精度若雨手眼标定,手眼标定操作难度高。条件:正坐标系(俩个坐标系X,Y方向在一个面)b:基础坐标系 t:工具坐标系。c:相机坐标系 o:工件坐标系。

2023-11-08 12:27:18 1179 2

原创 SDK开发思路C#

2.添加引用 如果添加引用报错的话(那么应该是c++文件),所以我们在对应的demo中找到c#语言对应的.cs文件(进行拷贝,复制到我们的程序中)1.拷贝dll库到我们程序的exe同一目录下,若用到halocn算子,则需要将halcon中的相关dll拷贝到exe同一目录下。3.设置回调函数(被动形式) 若颜色采集异常,则可以增加(白平衡,饱和度)处理,调用封装好的借口,显示图像。回调函数:应用程序将函数地址注册给操作系统,并注册事件,当事件产生的时候,操作系统进行调用,并且把数据传上来。

2023-11-06 21:12:08 594 1

原创 串口通讯实现思路

这里我们想要从第x个开始截取(截取索引),截取长度,字节数组故而我们可将这些作为参数传递,得到的还是字节数组,所以返回值类型可以是字节数组。防止打开串口失败,我们可用用try承接一下,打开成功则标志位赋值为真,串口打开。温度值,湿度值这里可以用一个类库中的成员来表示,作为实体类的对象,这样要有多个数据的时候就方便管理。字符串.Substring(i*2,2),16)===》开始截取索引,截取长度,转换后的进制类型。封装方法的思路:把不变的封装成方法体,变化的作为参数,想得到的值作为返回值或者用out修饰,

2023-11-04 21:22:40 99 1

原创 Halocn预处理手法

local_threshold 局部阈值 hysteresis_threshold 滞后阈值 char_threshold 提取暗字符。fast_threshold 快速 auto_threshold 自动阈值 dual_threshold 符号阈值。增加减少区域像素:区域形态学 rank_region expand_gray_ref(根据灰度值情况进行区域扩展)var_threshold局部均值方差二值化 threshold_sub_pix 阈值分割。

2023-10-26 22:07:06 72

原创 缺陷处理手法

bulkiness:'蓬松度 =π*长半轴*短半轴/区域面积 ---针对较长,面积小的,蓬松度大。灰度膨胀(灰度闭运算)---增加亮像素比例----(局部极大值)灰度腐蚀(灰度开运算)---增加暗像素比例----(局部极小值)*'column':求区域最小不带方向的外接矩形的中心列坐标。*'holes_num':孔洞数 -----封闭的孔洞数。*'row1':求区域最小不带方向的外接矩形的左上角行坐标。*'row2':求区域最小不带方向的外接矩形的右下角行坐标。

2023-10-04 19:22:19 160 1

原创 相机标定流程原理

5 摄像机标定calibrate_cameras-》获得内外参/ get_calib_data。3 设置初始相机内参以及标定板的描述文件set_calib_data_cam_param 和set_calib_data_calib_object---》内参:相机坐标系--》像素 外参:世界坐标系--》相机坐标系。4 循环拍照查找标定板find_calib_object--》2 创建标定模型create_calib_data-》求摄像机的内外参数--灵活 像--物关系。

2023-09-16 20:34:19 234 1

原创 halcon测量

实现流程:采集图像=》生成矩形测量区域(弧形)=》边缘测量(边缘对测量)=》可视化显示=》关闭测量。正负:沿着剖面线的方向由暗到亮为正 由亮到暗为负。测量区:测量矩形 测量弧形。定义: 一个方向的度量。原理:灰度投影+求导数。生成多边形xld轮廓。

2023-09-11 21:29:38 674

原创 Halcon的一些算子

gen_empty_obj:产生空对象。select_obj:访问某一个。remove_obj :移除。concat_obj:追加。insert_obj:插入。count_obj:计数。clear_obj:清除。copy_obj:拷贝。2.抠图 输入图像 输入区域 输出图像。1.求区域重心 输入区域 输出面积,重心行列坐标。

2023-09-03 14:18:48 520

原创 Halcon_blob分析_形态学

(WindowHandle, D$'4.2f'+' pix', 'image', Row+Radius, Column, 'white', 'false')//显示文本。(SelectedRegions, SortedRegions, 'first_point', 'true', 'column')//*排序区域。(Row, Column , Phi,Row+210, Column-10 , rad(180) , HomMat2D)//平移和旋转矩阵。

2023-09-03 14:05:33 479

原创 数字图像基本理论_待续

RGB三分量(Red 红 Green 绿 Blue 蓝) 如果是24 位数则是:0--2的24次方-1 如果是8位 0到2的8次方减1(0--255):每个像素的灰度值所占的位数(8位、24位) 黑白图像(灰度图像 一般8位) 彩色图像(24位一般):每个像素的光强大小表示,这个数值叫灰度值(亮度值 像素值 强度值) 数值越大光能量越大。write_image:保存图像(写入图像)数据由内存走向硬盘。光经过镜头发生了:采样 量化。:每个像素灰度值所占的字节数 (单通道 多通道)

2023-09-03 11:38:01 149 2

原创 Halcon算子_模板匹配

参数含义:*搜素图像 模型句柄 起始角度 角度范围 最小分数 最大实例个数 最大重叠度 亚像素精度 金字塔层数 贪婪度 行列坐标 角度(模板-》实例 逆正顺负) 得分数。no_pregeneration:不预先储存 (不占内存,速度快,精度相对弱)point_reduction_medium :去边缘点-中 1/3。point_reduction_high:去边缘点-高 2/3。point_reduction_low :去边缘点-低 1/4。7.极性 :分为使用极性,忽略全局,忽略局部,忽略颜色。

2023-09-01 15:39:47 1453 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除