记录
1.光圈的大小由一个称为“F值”的数字表示,这个数字越小,光圈就越大,光线也就越多。一般来说,使用较小的F值可以拍摄出更亮的照片,而使用较大的F值可以拍摄出更暗的照片。
2.光圈可以控制相机的曝光时间,因为当光圈口径越大,光线量越多,曝光时间也会越长。
3.在拍摄照片时,相机景深是一个非常重要的概念。它可以控制照片中物体的清晰度,也可以控制照片中景物的深度和广度。相机景深的控制主要取决于光圈的大小,快门的速度以及焦距的长短。光圈的大小越小,景深就越大;快门的速度越快,景深就越小;焦距越长,景深就越小。
标定板的选择
根据视场大小选择合适的标定板,halcon文档中建议标定板图案尺寸至少要大于1/4视场,小于整个视场,拍摄15-20幅标定图像;建议标定板图案大于1/3视场,小于整个视场,标定图像数量视要求而定;对于halcon12版本的标定板,建议标定板图案大于视场区域,不同姿态标定图像5幅左右;halcon12版本的标定板目前只支持halcon12,但halcon12版软件可使用之前版本的标定板;
C# 控件获取
Sunny.UI.UISwitch btn = (Sunny.UI.UISwitch)sender;
C# winform 只能输入正整数事件
private void uiTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox txt_n = (TextBox)sender;
if (e.KeyChar != ‘\b’)//这是允许输入退格键
{
int len = txt_n.Text.Length;
if (len < 1 && e.KeyChar == ‘0’)
{
e.Handled = true;
}
else if ((e.KeyChar < ‘0’) || (e.KeyChar > ‘9’))//这是允许输入0-9数字
{
e.Handled = true;
}
}
}
C# DataGridView 移动光标
uiDataGridView1.FirstDisplayedScrollingRowIndex = uiDataGridView1.Rows.Count - 1;
C# 海康控件引用步骤
1.打开工具箱
2.右键点击,选择 “选择项”
3.浏览文件,选择海康dll “VMControls.Winform.Release”
C# 更改项目名字步骤
1.修改项目属性中的 “程序集名称” 和 “默认命名空间” ,改成实际的项目名称。
2.全局替换原来的“所有”名称。 记得保存 CTRL+S
3.最后一步,用记事本打开.sln文件,替换名称。
视觉二维码,一维码精度识别计算,与选型
1.确定二维码最小模块长度,一维码最小模块长度。
2.比如二维码是4x4mm,最小模块根据计算,4/20(格) = 0.5mm
3.那么一般PPM值对应二维码稳定的是4左右,所以 0.5 / 4 = 0.125mm的精度
4.再根据视野范围,确定相机分辨率, 比如视野范围需要 100X100mm,即 100 / 0.125 = 800
- 得出 最终的相机像素是 800*800 = 640000,即64w左右的相机即可满足需求。
6.最后再根据工作距离,确定具体的焦距。
7.一维码同理,但是一维码大概1.5左右的PPM就可以了。
解析:PPM为4是比较稳定的,但是>1的PPM其实也是可以识别出来的,只是会不稳定。
####### 视觉关于旋转中心的判断,单相机&双相机
一、特征点靠近旋转中心对精度的影响
1. 几何误差分析:
- 旋转误差放大效应:
结论:特征点越靠近旋转中心(r 越小),旋转误差导致的位移误差越小。 - 标定误差耦合:
远离旋转中心的特征点会放大以下误差:- 相机内外参标定误差
- 机械臂运动学模型误差
- 镜头畸变(尤其是边缘区域)
2. 镜头畸变影响:
- 径向畸变:中心区域畸变较小(通常 < 0.1%),边缘畸变显著(可能 > 1%)。
- 切向畸变:在非中心区域更明显,影响特征点定位。
3. 对称性优化: - 若特征点对称分布在旋转中心两侧,可通过差分消除部分系统误差(如平移偏差)。
。
单点抓取,单点纠偏
单点纠偏:
1.示教物理点: 产品放置位坐标。 / 需要保证每次拍照位(机械手点位)都要一样,因为内部写死了示教拍照物理点(标定的第五点)
单点抓取
1.示教物理点:基准产品放置坐标 / 示教流程中,将产品吸取到拍照位,记录当前机械手最后放置产品的点位,机械手规避后,进行拍照,进行示教基准。
2.示教拍照物理点: 标定第五点/
C# winform引用现有控件
步骤
将对应的信息加入到.csproj文件的ItemGroup中。
如:
AbortDlg.cs
Form
和
AbortDlg.resx
AbortDlg.cs
Designer
重新打开方案,就会自动加载这个控件到对应的流程当中。