关于相机和坐标的问题

先把已知条件算清楚:

  • 相机 → 冲针距离:77000 脉冲
  • 2000 脉冲 = 1 mm

所以物理距离:

复制代码
77000 / 2000 = 38.5 mm

也就是说:

冲针中心在相机视野中心的 38.5 mm 位置处。

因此你现在的问题其实不是相机看不到目标,而是:

目标点需要通过"偏移补偿"让冲针移动到那里。

这在工业设备里叫:

Tool Offset(工具偏移补偿)

不需要改变机械结构。


一、核心解决思路

流程应该变成:

复制代码
1 相机找到目标点
2 计算目标点在相机坐标
3 加上冲针偏移量
4 控制平台移动
5 冲针到达目标

本质公式:

复制代码
冲针位置 = 视觉坐标 + 相机到冲针偏移

二、先确定偏移方向

你现在只知道:

复制代码
距离 = 77000 脉冲

但还需要确定 方向

可能情况:

情况1(X方向偏移)

复制代码
相机中心 ●---------------------冲针
            77000 pulse

情况2(Y方向偏移)

复制代码
相机中心
   |
   |
   |
   ● 冲针

情况3(XY都有)

复制代码
      冲针
       ●
      /
     /
相机 ●

所以要确定:

复制代码
offsetX
offsetY

例如:

复制代码
offsetX = 77000
offsetY = 0

或者

复制代码
offsetX = 0
offsetY = 77000

三、软件补偿实现

假设视觉找到目标点:

复制代码
vision_x
vision_y

冲针应该移动到:

复制代码
target_x = vision_x + offsetX
target_y = vision_y + offsetY

代码示例:

复制代码
struct Offset
{
    int offsetX;   // 相机到冲针X偏移
    int offsetY;   // 相机到冲针Y偏移
};

Offset needleOffset = {77000,0};

void calcPunchPosition(int visionX,int visionY)
{
    int targetX = visionX + needleOffset.offsetX;

    int targetY = visionY + needleOffset.offsetY;

    moveAxis(targetX,targetY);
}

四、推荐再做一次精确标定

38.5 mm 是理论值,但工业设备通常会有:

  • 安装误差
  • 相机安装角度
  • 镜头畸变

所以建议做 一次针尖标定

方法很简单:

步骤1

让冲针轻轻点一个孔。

步骤2

移动平台让这个孔进入相机中心。

步骤3

记录当前平台坐标。

例如:

复制代码
冲针打孔位置

X = 120000
Y = 85000

移动到相机中心时:

复制代码
X = 43000
Y = 85000

则:

复制代码
offsetX = 120000 - 43000 = 77000
offsetY = 0

得到真实偏移。


五、完整冲孔流程

最终工业流程应该是:

复制代码
1 相机识别目标
2 得到像素坐标
3 像素 → 机械坐标
4 加冲针偏移
5 平台移动
6 冲针下压

公式:

复制代码
X_punch = X_camera + offsetX
Y_punch = Y_camera + offsetY

六、避免一个常见错误

不要这样做:

复制代码
先移动冲针
再找点

正确流程必须是:

复制代码
先找点
再补偿
再移动

否则会产生累计误差。


七、如果想让精度更高(工业推荐)

建议把偏移做成 参数

复制代码
camera_offset_x
camera_offset_y

存入配置文件:

复制代码
config.json

以后只要重新标定,改参数即可,不用改程序。


如果你愿意,我可以再给你一套 完整冲孔机视觉控制流程(工业版),里面会包括:

  • 视觉找点 → 机械坐标转换
  • 冲针偏移补偿
  • 自动打孔路径
  • 多孔连续冲孔
  • 防止累计误差

这套逻辑基本就是 工业冲孔设备软件的标准写法

相机是和冲针在同一个x轴上的,处于同一个竖线上

既然 相机和冲针在同一条竖线上(同一个X轴),那结构就非常清晰了:

  • X方向没有偏移
  • 只有Y方向偏移

已知:

复制代码
相机 → 冲针 = 77000 脉冲
2000 脉冲 = 1 mm

换算:

复制代码

77000 / 2000 = 38.5 mm

所以:

复制代码
offsetX = 0
offsetY = ±77000

符号取决于 冲针在相机的上方还是下方

如果结构是这样:

复制代码
      冲针
        ●
        |
        |  77000 pulse
        |
        ●  相机

说明 冲针在相机上方

那么补偿应该是:

复制代码

targetX = visionX

targetY = visionY - 77000

如果结构反过来:

复制代码
相机
  ●
  |
  | 77000 pulse
  |
  ● 冲针

则:

复制代码
targetX = visionX
targetY = visionY + 77000

核心逻辑就是:

复制代码
冲针坐标 = 相机坐标 + Y偏移

代码示例:

复制代码
struct NeedleOffset
{
    int offsetX = 0;       // X无偏移
    int offsetY = 77000;   // Y偏移
};

NeedleOffset offset;

void calcPunchPosition(int camX,int camY)
{
    int targetX = camX + offset.offsetX;

    int targetY = camY + offset.offsetY;

    moveAxis(targetX,targetY);  // 控制运动卡移动
}

这样流程就变成:

复制代码
1 相机识别目标点
2 得到当前平台坐标
3 加上Y偏移
4 平台移动
5 冲针冲孔

还有一个非常关键的工业细节,很多设备第一次做都会忽略:

相机识别出来的是 像素坐标 ,而你的运动卡是 脉冲坐标,中间必须有一步:

复制代码
像素 → mm → 脉冲

公式:

复制代码
pulse = mm * 2000

例如:

复制代码
目标点距离中心 2mm

则:

复制代码
2 × 2000 = 4000 pulse

最终计算:

复制代码
targetY = camY + pixel_offset_y * scale + needle_offset

其中:

复制代码
scale = mm_per_pixel

再给你一个工业设备常用的完整公式:

复制代码
X_target = X_stage + (pixelX - centerX) * scale * pulse_per_mm

Y_target = Y_stage + (pixelY - centerY) * scale * pulse_per_mm + needle_offset

其中:

复制代码
pulse_per_mm = 2000
needle_offset = 77000

最后给你一个 最重要的现场校准方法(推荐做一次):

步骤:

  1. 用冲针打一个孔
  2. 移动平台让这个孔进入 相机正中心
  3. 记录平台坐标差

计算:

复制代码
offsetY = punch_positionY - camera_centerY

通常算出来会是:

复制代码
76840
77120
76990

而不是正好 77000,因为机械安装会有误差。

把这个值写进参数即可。


如果需要,我可以再给你一套 工业冲孔机完整视觉流程(含代码),包括:

  • 像素 → 脉冲坐标完整公式
  • 自动补偿相机中心
  • 连续冲孔路径规划
  • 避免累计误差
  • 冲孔前视觉二次确认

这一套基本就是 成熟冲孔设备视觉系统的标准算法结构

在整个冲孔的过程中,不需要相机的参与,只有在扫描的时候需要相机进行拍照,然后进行计算当前坐标与实际孔位的偏移量,如果冲孔过程中发生了意外活腻错误,则需要先由摄像头回到中心然后在摄像头正对到这个目标点上,进行查看或者是其他操作。如果没有发生意外则整个冲孔过程中不需要相机的参与。

你描述的这种方式其实就是工业设备里常见的 "先视觉标定 → 再纯运动冲孔" 的模式,也叫 一次定位 + 全局补偿 。这种方案在很多冲孔机、PCB打孔机、贴标机里都会用,因为它 速度快、节拍稳定、视觉负担小

根据你的描述,可以把系统逻辑整理成下面这个结构。


一、整体流程结构

整个生产流程分为 两个阶段

1)扫描标定阶段(需要相机)

2)自动冲孔阶段(不需要相机)

流程如下:

复制代码
开始任务
   ↓
移动到扫描位置
   ↓
相机拍照
   ↓
视觉识别孔位
   ↓
计算 偏移量 ΔX ΔY
   ↓
保存偏移量
   ↓
进入自动冲孔流程

然后冲孔阶段:

复制代码
读取理论孔位
   ↓
加上偏移量补偿
   ↓
平台移动
   ↓
冲针冲孔
   ↓
下一个孔

整个冲孔过程中 不需要再拍照


二、核心数学逻辑

扫描时得到:

理论孔位:

复制代码
(X_design , Y_design)

视觉识别孔位:

复制代码
(X_real , Y_real)

计算偏移:

复制代码
ΔX = X_real - X_design
ΔY = Y_real - Y_design

保存这个偏移。


冲孔时使用:

复制代码
X_target = X_design + ΔX
Y_target = Y_design + ΔY

再叠加 相机到冲针偏移

因为你有:

复制代码
needle_offsetY = 77000 pulse

最终公式:

复制代码
X_punch = X_design + ΔX

Y_punch = Y_design + ΔY + needle_offsetY

三、扫描阶段示例代码

复制代码
struct Offset
{
    double dx;
    double dy;
};

Offset g_offset;

void calcOffset(double designX,double designY,
                double realX,double realY)
{
    g_offset.dx = realX - designX;

    g_offset.dy = realY - designY;
}

四、冲孔阶段代码

复制代码
const int needleOffsetY = 77000;

void punchHole(double designX,double designY)
{
    double targetX =
        designX + g_offset.dx;

    double targetY =
        designY + g_offset.dy + needleOffsetY;

    moveAxis(targetX,targetY);

    punch();   // 冲针下压
}

五、异常处理逻辑(你说的回到相机中心)

如果冲孔过程中出现:

  • 冲针异常
  • 运动报警
  • 工件偏移
  • 冲孔失败

系统进入 视觉复位模式

复制代码
暂停冲孔
     ↓
移动到相机中心
     ↓
相机识别当前孔
     ↓
重新计算偏移
     ↓
更新 ΔX ΔY
     ↓
继续冲孔

伪代码:

复制代码
void reLocate()
{
    moveToCameraCenter();

    auto pos = visionDetect();

    calcOffset(designX,designY,pos.x,pos.y);
}

六、工业设备里非常关键的一点

不要只扫描 一个点

建议扫描 两个或三个基准孔

原因是:

如果工件存在:

  • 旋转
  • 轻微倾斜

单点补偿会产生误差。

工业做法:

两点标定

计算:

  • 平移
  • 旋转角度

公式:

复制代码
θ = atan2(y2 - y1 , x2 - x1)

然后做 坐标旋转补偿

这样冲孔精度会高很多。


七、推荐工业方案(最稳)

扫描 两个定位孔

计算:

复制代码
平移 ΔX ΔY
旋转 θ

冲孔时使用:

复制代码
X' = X*cosθ - Y*sinθ + ΔX
Y' = X*sinθ + Y*cosθ + ΔY

然后再加:

复制代码
needle_offsetY

八、你现在这个架构其实是非常合理的

优点:

  • 冲孔过程 速度快
  • 视觉 不拖慢节拍
  • 算法简单稳定
  • 系统负载小

很多设备就是:

复制代码
开机视觉定位一次
然后跑完整板

现在我又一个问题,就算是在冲孔系统中,我通过初始坐标将平台移动到了第一个点,但是因为工件是活动的,每次的第一个点都和这个坐标给到的第一个点对不上,所以需要相机来进行调整。但是相机无法拍到冲孔针正对的那个点,所以需要相机进行特殊移动,然后拍照重新计算坐标点。我的问题是这个逻辑要怎么设计,才能使现在的这个新坐标是和现在的孔位置是一样的。

核心问题其实是 坐标系不一致

  • 运动平台使用的是 机械坐标系
  • 相机看到的是 相机坐标系(像素坐标)
  • 冲针中心是 冲针坐标系

因为 相机看不到冲针正下方的位置 ,所以需要做一次 相机→冲针的坐标补偿(Offset)。逻辑一般按下面设计。


一、先做一次标定(只需做一次)

目标:求出 相机中心到冲针中心的偏移量

步骤:

1)让冲针冲一个孔(或用标记点)。

2)移动平台,让 相机正对这个孔

3)记录此时平台坐标

例如:

复制代码
冲针位置坐标
Xp, Yp

相机拍到孔时平台坐标
Xc, Yc

计算 偏移量

复制代码
offsetX = Xp - Xc
offsetY = Yp - Yc

这个 offset 就是:

冲针中心 = 相机中心 + offset

这个值后续一直使用。


二、实际生产时的逻辑

工件是活动的,所以第一孔需要视觉定位。

流程:

1)平台移动到 理论第一孔附近

复制代码
Move(X1_nominal, Y1_nominal)

2)平台移动到 相机拍照位置

因为相机和冲针有 offset:

复制代码
Move(
X1_nominal - offsetX,
Y1_nominal - offsetY
)

这样 相机就对准理论孔位

3)相机拍照识别孔

得到 图像偏差

例如视觉算法返回:

复制代码
dx_pixel
dy_pixel

转换为平台坐标(mm)

复制代码
dx = dx_pixel * pixel_size
dy = dy_pixel * pixel_size

4)计算真实孔位置

复制代码
X_real = X1_nominal + dx
Y_real = Y1_nominal + dy

5)移动冲针到真实孔位

复制代码
Move(X_real, Y_real)

然后冲孔。


三、后续孔位

如果工件没有旋转,只是整体偏移:

只需要算一次偏移

复制代码
ΔX = X_real - X1_nominal
ΔY = Y_real - Y1_nominal

后面所有孔:

复制代码
Xi_real = Xi_nominal + ΔX
Yi_real = Yi_nominal + ΔY

这样就不用每个孔都拍照。


四、完整逻辑流程

复制代码
1 读取理论第一孔 (X1_nominal,Y1_nominal)

2 移动到相机拍照位置
Move(X1_nominal-offsetX , Y1_nominal-offsetY)

3 相机识别孔
得到 dx,dy

4 计算真实孔
X_real = X1_nominal + dx
Y_real = Y1_nominal + dy

5 冲第一孔
Move(X_real,Y_real)

6 计算整体偏移
ΔX = X_real - X1_nominal
ΔY = Y_real - Y1_nominal

7 后续孔
Xi = Xi_nominal + ΔX
Yi = Yi_nominal + ΔY

五、工程上常见升级(建议)

如果工件可能 旋转 ,需要 两点定位

  • 两个定位孔
  • 计算
复制代码
平移 + 旋转矩阵

这样所有孔都能修正。

关键是建立 "孔位 → 相机 → 冲针" 的坐标转换关系,然后每个孔都重复同一套流程。

因为 相机看不到冲针中心 ,所以系统里必须有一个固定的 相机到冲针的偏移量(Offset)。只要这个 Offset 标定准确,每次拍照计算出的坐标都可以转换成冲针坐标。

整体逻辑可以这样设计:

一、先做系统标定(一次即可)

目的:得到 相机中心到冲针中心的偏移量

步骤:

1)用冲针打一个测试孔

记录冲针位置

复制代码
Xp , Yp

2)移动平台,让 相机对准这个孔

记录平台坐标

复制代码
Xc , Yc

3)计算 Offset

复制代码
offsetX = Xp - Xc
offsetY = Yp - Yc

含义:

冲针坐标 = 相机坐标 + offset


二、每个孔的执行逻辑

假设当前理论孔位

复制代码
Xi_nominal , Yi_nominal

步骤:

1)移动到相机拍照位置

因为相机和冲针不重合,需要减 offset

复制代码
Move(
Xi_nominal - offsetX,
Yi_nominal - offsetY
)

此时 相机理论上正对孔位


2)相机拍照识别孔中心

视觉算法得到 孔中心相对相机中心的偏移

例如:

复制代码
dx_pixel
dy_pixel

转换成平台单位(mm)

复制代码
dx = dx_pixel * pixel_size
dy = dy_pixel * pixel_size

3)计算真实孔位置

真实孔位 = 理论孔位 + 视觉偏差

复制代码
Xi_real = Xi_nominal + dx
Yi_real = Yi_nominal + dy

4)移动冲针到真实孔位

复制代码
Move(Xi_real , Yi_real)

执行冲孔。


三、完整流程(每个孔重复)

复制代码
for 每个孔 i

1 Move(Xi_nominal - offsetX , Yi_nominal - offsetY)

2 相机拍照

3 视觉识别
得到 dx , dy

4 Xi_real = Xi_nominal + dx
  Yi_real = Yi_nominal + dy

5 Move(Xi_real , Yi_real)

6 Punch()

四、工程上要注意的两个关键点

1 视觉坐标方向

要确认:

  • 相机 X方向 是否等于 机器 X方向
  • 相机 Y方向 是否等于 机器 Y方向

否则需要:

复制代码
dx = -dx
dy = -dy

或交换 XY。


2 像素转毫米

需要标定比例:

复制代码
mm_per_pixel

例如

复制代码
dx = dx_pixel * mm_per_pixel

五、一个非常实用的小优化

不要用 理论孔位 + dx

而是直接用 当前平台位置 + dx

更稳定:

复制代码

X_real = X_camera_position + dx + offsetX

Y_real = Y_camera_position + dy + offsetY

这样即使平台误差也能补偿。

视觉偏差如何换算成平台坐标(矩阵法)

视觉偏差用 矩阵法 转成平台坐标,本质是在做 相机坐标系 → 机械坐标系 的坐标变换 。因为相机可能存在 旋转、缩放、镜像 ,简单乘比例有时会不准确,所以工业设备一般用 2×2变换矩阵

先定义两个坐标系:

  • 相机坐标系:(u,v)(u,v)(单位:pixel)
  • 平台坐标系:(X,Y)(X,Y)(单位:mm)

视觉算法给出的偏差是:

复制代码
du
dv

需要转换为平台移动量:

复制代码

dX

dY

转换关系:

复制代码
[ dX ]   [ a  b ] [ du ]
[ dY ] = [ c  d ] [ dv ]

也就是

复制代码
dX = a*du + b*dv
dY = c*du + d*dv

其中:

  • a,b,c,d 是 标定得到的矩阵参数
  • 这个矩阵同时包含
    • 像素比例
    • 相机旋转角
    • XY轴不完全对齐

一、如何标定这个矩阵

最常用方法是 九点标定 或 四点标定

核心思想:移动平台已知距离,看相机像素变化

步骤示例:

1)记录当前点

平台:

复制代码
X0 , Y0

相机像素:

复制代码
u0 , v0

2)平台只移动X

例如:

复制代码
移动 ΔX = 1 mm

新平台位置

复制代码
X1 = X0 + 1
Y1 = Y0

相机检测到像素变化:

复制代码
u1 , v1

像素变化:

复制代码
du_x = u1 - u0
dv_x = v1 - v0

3)平台只移动Y

复制代码
移动 ΔY = 1 mm

相机检测到:

复制代码
du_y
dv_y

二、求矩阵

我们知道:

复制代码
1mm X方向移动
对应像素变化 (du_x , dv_x)

1mm Y方向移动
对应像素变化 (du_y , dv_y)

写成矩阵:

复制代码
[ du_x  du_y ]
[ dv_x  dv_y ]

这是 平台→相机矩阵

记为

复制代码
M

但我们需要的是

相机 → 平台

所以要做 矩阵求逆

复制代码
A = M⁻¹

得到

复制代码
[ a  b ]
[ c  d ]

三、实际运行计算

视觉算法得到:

复制代码
du
dv

平台需要移动:

复制代码
dX = a*du + b*dv
dY = c*du + d*dv

然后平台执行:

复制代码
MoveRelative(dX , dY)

四、完整冲孔流程(矩阵版)

每个孔:

1 移动到拍照位置

复制代码
Move(Xi - offsetX , Yi - offsetY)

2 相机识别孔中心

得到

复制代码
du , dv

3 像素 → 平台

复制代码
dX = a*du + b*dv
dY = c*du + d*dv

4 计算冲针位置

复制代码
X_punch = X_camera + dX + offsetX
Y_punch = Y_camera + dY + offsetY

5 冲孔


五、为什么工业设备都用矩阵

因为实际设备一定存在:

  • 相机安装 有角度
  • XY轴 不完全正交
  • 像素比例 X/Y不同
  • 镜像问题

矩阵能一次性解决全部问题。


如果你做的是 冲孔设备 + 工业相机 ,我可以再给你一个 完整工程级方案(很多设备就是这样做的):

  • 9点标定求矩阵的完整公式

完整工程级方案

下面给你一个 工业设备里常用的完整工程级实现方案 (视觉定位 + 每孔拍照 + 冲针补偿)。整体分为 5个模块:标定、坐标转换、单孔定位流程、软件结构、误差控制。


一、系统坐标体系设计

设备里必须明确 3个坐标系

1)平台坐标系(Machine)

复制代码
(Xm , Ym)
单位:mm

由运动控制卡或PLC控制。

2)相机像素坐标系(Image)

复制代码
(u , v)
单位:pixel

视觉算法输出。

3)冲针坐标

冲针其实就在 平台坐标系 上,只是和相机存在 offset

关系:

复制代码
冲针中心 = 相机中心 + Offset

二、视觉标定(核心)

目标:求 像素 → 机械坐标的转换矩阵

使用 9点标定

准备:

  • 在视野中放一个 标定板或十字点
  • 相机固定
  • 平台移动

记录9个点:

Xm Ym u v
1 X1 Y1 u1 v1
2 X2 Y2 u2 v2
... ... ... ... ...

目标求:

复制代码
Xm = a*u + b*v + tx
Ym = c*u + d*v + ty

矩阵形式:

复制代码
[ Xm ]   [ a  b ] [ u ] + [ tx ]
[ Ym ] = [ c  d ] [ v ]   [ ty ]

参数:

复制代码
a b c d tx ty

通过 最小二乘法 求解。

示例代码逻辑:

复制代码
# 像素转平台
Xm = a*u + b*v + tx
Ym = c*u + d*v + ty

这样任何像素点都可以转换成平台坐标。


三、冲针 Offset 标定

因为 相机看不到冲针中心

步骤:

1)冲针打一个孔

记录平台位置:

复制代码
Xp , Yp

2)移动平台让 相机看到这个孔

视觉检测孔中心:

复制代码
u , v

3)像素转平台

复制代码
Xh = a*u + b*v + tx
Yh = c*u + d*v + ty

4)计算 Offset

复制代码
offsetX = Xp - Xh
offsetY = Yp - Yh

结果:

复制代码
冲针坐标 = 相机识别坐标 + offset

四、单孔定位算法(核心流程)

假设理论孔:

复制代码
Xi_nominal
Yi_nominal

步骤:

1)移动到拍照位置

复制代码
Move(
Xi_nominal - offsetX ,
Yi_nominal - offsetY
)

2)相机拍照

视觉检测孔中心像素

复制代码
u , v

3)像素 → 平台

复制代码
Xh = a*u + b*v + tx
Yh = c*u + d*v + ty

4)计算冲孔位置

复制代码
Xpunch = Xh + offsetX
Ypunch = Yh + offsetY

5)移动冲针

复制代码
Move(Xpunch , Ypunch)

6)冲孔


五、完整程序流程

伪代码结构:

复制代码
for hole in hole_list:

    # 1 移动到拍照位置
    Move(
        hole.X - offsetX,
        hole.Y - offsetY
    )

    # 2 拍照
    image = Camera.Capture()

    # 3 视觉检测
    u,v = Vision.FindHole(image)

    # 4 像素转平台
    Xh = a*u + b*v + tx
    Yh = c*u + d*v + ty

    # 5 计算冲孔坐标
    Xp = Xh + offsetX
    Yp = Yh + offsetY

    # 6 移动冲针
    Move(Xp , Yp)

    # 7 冲孔
    Punch()

六、软件模块设计(推荐)

工业软件一般拆成四个模块:

1)Motion模块

复制代码
MoveAbs(x,y)
MoveRel(dx,dy)
GetPosition()

2)Camera模块

复制代码
Capture()

3)Vision模块

复制代码
FindHole()
FindMark()

输出

复制代码
u,v

4)Calibration模块

复制代码
PixelToMachine(u,v)
GetPunchOffset()

七、精度优化(工程关键)

1)亚像素检测

普通检测:

复制代码
0.1 pixel

亚像素:

复制代码
0.01 pixel

精度会明显提高。


2)避免二次误差

不要用:

复制代码
Xi_nominal + 偏差

直接用:

复制代码
相机识别坐标

3)拍照稳定时间

平台停止后:

复制代码
delay 50~150ms

避免震动。


4)重复拍照确认

重要孔位:

复制代码
拍2次取平均

八、工业设备真实精度

典型配置:

相机

复制代码
500万像素

视野

复制代码
20mm

像素分辨率

复制代码
0.004 mm/pixel

亚像素:

复制代码
0.2 pixel

最终定位精度:

复制代码
±0.01 mm
相关推荐
踩着两条虫2 小时前
VTJ.PRO 在线应用开发平台的工作台与后台管理视图
前端·人工智能·ai编程
人工智能AI技术2 小时前
谷歌Google Translate“实时翻译“功能正式登陆iOS平台
人工智能
_假正经2 小时前
YOLOV8/11分割与分类输出参数说明
人工智能·yolo·分类
带娃的IT创业者2 小时前
文档扫描工具开发:高拍仪硬件集成与图像处理流水线
jvm·图像处理·人工智能·ocr·文档扫描·glm-4.6v·高拍仪
ん贤2 小时前
AI 大模型落地系列|Eino 组件核心篇:用 Retriever 敲开RAG的大门
人工智能·golang·retriever·eino
风象南2 小时前
Codex 干完活我总是后知后觉,我给它加了一个“完工提醒”
人工智能
廋到被风吹走2 小时前
【Codex】记账APP
人工智能
亚信安全官方账号2 小时前
亚信安全终端安全融合“龙虾”,发布TrustOne 安全助理
大数据·人工智能·安全
xrgs_shz2 小时前
图像的点运算(线性点运算和非线性点运算)
人工智能·算法·机器学习