机器视觉软件开发包CKVision SDK 6.0 产品介绍及应用

机器视觉软件开发包CKVision SDK 6.0 产品介绍及应用

CKVision SDK 6.0 产品介绍及应

一、概

CKVision SDK 6.0 是一款面向工业视觉检测领域的专业机器视觉开发工具包。该SDK提供了完整的2D/3D图像处理、目标检测、精密测量、缺陷检测及智能识别等功能模块,可广泛应用于智能制造、质量检测、机器人视觉引导等工业自动化场景。

核心特

  • 模块化架构:采用DLL组件化设计,各功能模块独立封装,便于灵活集成
  • 高性能算法:优化的图像处理与分析算法,满足实时检测需求
  • 2D/3D融合:同时支持平面图像和三维点云数据处理
  • 跨平台支持:提供标准C++ API及Qt图形界面接口
  • 工业级稳定性:针对工业环境优化,具备高可靠性和鲁棒性

二、功能模块架

2.1 核心基础模块(CKBase.dll

基础模块是整个SDK的核心,提供底层数据结构和通用图像处理功能。

图像存储结

  • CKImage:标准2D图像对象,支持多种像素格式
  • CKMask:图像掩膜,用于ROI(感兴趣区域)定义
  • CK3DImage:3D点云图像数据结构
  • CKSurface:三维表面数据表示
  • CKMaskImage:掩膜合成图像,实现复杂区域处理

图像处理工

  • CKImgOpera:算术与逻辑运算(加减乘除、与或非等)
  • CKImgFilter:滤波处理(均值、高斯、中值、双边滤波等)
  • CKImgMorph:形态学操作(腐蚀、膨胀、开闭运算等)
  • CKImgTrans:几何变换(旋转、缩放、仿射、透视变换)
  • CKImgConve:图像转换功能(格式转换、色彩空间转换)

图像分析工

  • CKHistogram:直方图统计及灰度分析
  • CKPixelStat:像素级统计分析
  • CKProjection:图像投影曲线生成
  • CKSharpAssess:清晰度评测(用于自动对焦)

标定功

  • CKDotMatrix:圆点标定板检测
  • CKChessboard:棋盘格标定板检测
  • CKImageCalib:图像畸变校正
  • CKPointCalib:坐标系标定与转换

辅助工

  • CKMat2D:二维矩阵运算
  • CKGeometry:几何测量(点线距离、角度等)
  • CKFrameTrans:坐标系变换
  • CKImgPyramid:图像金字塔(多尺度处理)

典型应用场景

  • 图像预处理:去噪、增强、二值化
  • 相机标定:消除镜头畸变,建立像素-实际尺寸映射关系
  • 图像配准:多相机或多视角图像对齐

 

2.2 精密测量模块(CKGauge.dll

专为高精度几何测量设计,提供亚像素级边缘检测和形状拟合功能。

核心工

  • CKEdgeTool:边缘检测工具,支持亚像素定位
  • CKSpaceTool:间距测量工具
  • CKScanEdge:沿路径扫描边缘点
  • CKScanSpace:沿路径扫描间距
  • CKFitCircle:圆形拟合(最小二乘法)
  • CKFitLine:直线拟合
  • CKFitEllipse:椭圆拟合

测量精度

  • 边缘定位精度可达1像素
  • 支持卡尺工具、多点拟合等多种测量模式

应用场景

  • PCB焊盘尺寸检测
  • 轴承内外径测量
  • 零件轮廓尺寸检验
  • 装配间隙测量
  • 精密机械零件几何参数检测

2.3 缺陷检测模块(CKDetect.dll

提供多种缺陷检测算法,适用于表面质量检测和异常识别。

功能组

  • CKPatInspect:图像对比检测(模板匹配式缺陷检测)
  • CKBlobAnalyzer:Blob分析(连通区域分析)
  • 面积、周长、圆度、矩形度等特征提取
  • 缺陷分类与筛选
    • CKEdgeContour:轮廓检测(边缘提取与轮廓跟踪)
    • CKRidgeContour:轮廓中线提取
    • CKContourDefect:轮廓缺陷检测(凹陷、凸起、断点等)
    • CKCharFinder:OCV字符分割(光学字符验证)

检测能力

  • 划痕、污点、气泡、凹坑等表面缺陷
  • 缺失、多余、错位等装配缺陷
  • 尺寸超差、形状异常

应用场景

  • 面板缺陷检测(显示屏、玻璃等)
  • 印刷品质量检测
  • 金属表面划痕检测
  • 药片完整性检测
  • 焊接质量检验

2.4 定位识别模块(CKLocate.dll

实现快速、精确的目标定位和模式识别。

核心算

  • CKContourMatch:轮廓匹配
  • 基于形状特征的快速匹配
  • 抗旋转、缩放、遮挡
    • CKModelContour:模型轮廓管理
  • 模板训练与存储
  • 多模板管理

性能指标

  • 匹配精度:±0.1像素(位置)、±0.1°(角度)
  • 搜索速度:毫秒级(典型场景)

应用场景

  • 机器人视觉引导(抓取定位)
  • 产品分拣(姿态识别)
  • 组装定位(零件对齐)
  • 标签定位
  • 不规则物体识别

2.5 码制识别模块(CKReader.dll

支持多种一维码、二维码的读取和定位。

码制支

  • CKBarcode:一维条码读取
  • Code 39、Code 128、EAN-13、UPC等
    • CKReadQRCode:QR二维码读取
    • CKDataMatrix:DataMatrix二维码读取
    • CKFindBarcode:条码定位(无需解码,仅定位)
    • CKReadOcr:字符识别(OCR)

技术特点

  • 高容错性:适应污损、模糊、倾斜等恶劣条件
  • 快速解码:优化的解码算法
  • 批量识别:一次可识别多个码

应用场景

  • 物流分拣(快递单号识别)
  • 产品追溯(二维码读取)
  • 质量管理(批次号识别)
  • 仓储管理(货架码识别)
  • 电子产品序列号读取

2.6 颜色处理模块(CKColor.dll

提供颜色分析和颜色分割功能。

功能组

  • CKColorMonitor:颜色监测(颜色一致性检测)
  • CKColorIdentify:颜色识别(颜色分类)
  • CKRGBThreshold:RGB空间颜色提取
  • CKHSVThreshold:HSV空间颜色提取(更符合人眼感知)

应用场景

  • 色选分拣(水果、药片等按颜色分类)
  • 印刷色差检测
  • 液体颜色检测
  • 线缆识别(按颜色区分线束)
  • LED颜色检测

2.7 三维测量模块(CK3DTool.dll

针对3D点云数据的处理和分析。

功能组

  • CK3dGeom:3D几何测量(距离、角度、体积)
  • CK3dHeight:高度检测(Z轴方向测量)
  • CK3dPlane:平面拟合(平面度检测)
  • CK3dSphere:球面拟合(球度检测)
  • CK3dRidge:顶点检测(峰值检测)
  • CK3dAnalyse:高度分析(高度分布统计)
  • CK3dVolume:体积检测(容积测量)
  • CK3dFilter:3D滤波处理(点云去噪)
  • CK3dEdge:3D边缘测量

3D数据来源

  • 结构光相机
  • 激光扫描仪
  • TOF相机
  • 双目立体视觉

应用场景

  • 焊缝高度检测
  • 胶水涂覆厚度测量
  • 工件体积测量
  • 平面度/球度检测
  • 3D缺陷检测(凹坑深度等)
  • 物料堆积体积测量

2.8 图形显示模块(CKGDI.dll / CKQtGDI.dll

提供可视化图形绘制功能,便于结果显示和交互调试。

绘图元

  • CKGdiView:视图管理
  • CKGdiText:文本标注
  • CKGdiPoint:点绘制
  • CKGdiLine/CKGdiLineScan:直线及扫描线
  • CKGdiRect/CKGdiRotBox:矩形(正交/旋转)
  • CKGdiCircle/CKGdiArc/CKGdiRing:圆形/圆弧/圆环
  • CKGdiEllipse:椭圆
  • CKGdiContour/CKGdiPolygon:轮廓/多边形
  • CKGdiBoxScan/CKGdiRingScan/CKGdiPolyScan:各种扫描区域
  • CKGdiProfile:剖面线显示
  • CKGdiHistogram:直方图显示
  • CKGdiMask:掩膜显示
  • CKGdiFrame:坐标系显示(仅CKGDI)

双重实现

  • dll:基于Windows GDI的实现
  • dll:基于Qt的跨平台实现

应用价值

  • 可视化调试:直观查看检测结果
  • 人机交互:ROI设置、参数调整
  • 报表生成:检测结果标注与输出

三、典型应用案

3.1 电子制造行

PCB焊点检

工艺流程:

相机采集 → 图像增强(CKImgFilter) → 轮廓检测(CKEdgeContour)→ 圆形拟合(CKFitCircle) → 缺陷判断(CKBlobAnalyzer)

检测项目:

– 焊点直径(CKGauge测量)

– 焊点圆度(几何特征分析)

– 少锡/多锡(面积统计)

– 虚焊/假焊(灰度分析)

元件贴装检

工艺流程:

图像采集 → 模板匹配(CKContourMatch) → 姿态识别 → 位置偏移测量(CKEdgeTool) → 极性检测(CKPatInspect)

检测项目:

– 元件位置偏移

– 角度偏转

– 正反面判断

– 缺件/错件

3.2 汽车制造行

车身焊缝检测(3D

工艺流程:

3D扫描 → 点云滤波(CK3dFilter) → 边缘提取(CK3dEdge)→ 高度测量(CK3dHeight) → 焊缝质量判断

检测项目:

– 焊缝高度(0.1mm精度)

– 焊缝宽度

– 焊缝连续性

– 气孔缺陷

零件尺寸检

工具链:

CKImageCalib(相机标定)→ CKEdgeTool(边缘定位)→ CKFitLine/CKFitCircle(几何拟合)→ CKGeometry(尺寸计算)

应用:轴承内外径、轴类零件直径、螺栓长度等

3.3 制药行

药片质量检

工艺流程:

背光成像 → 二值化(CKHistogram) → Blob分析(CKBlobAnalyzer)→ 缺陷检测 → 颜色检测(CKColorIdentify)

检测项目:

– 破损(轮廓缺陷)

– 污点(Blob面积)

– 颜色异常

– 形状变形

药瓶标签检

OCR识别:

图像预处理 → 字符分割(CKCharFinder) → OCR识别(CKReadOcr)

条码读取:

CKBarcode/CKReadQRCode → 批次号验证

3.4 食品饮料行

包装检

标签定位:CKContourMatch(商标识别)

印刷检测:CKPatInspect(与标准模板对比)

日期码读取:CKReadOcr(生产日期识别)

封口检测:CKEdgeContour + CKContourDefect(封口完整性)

液位检

工艺流程:

侧向成像 → 边缘检测(CKScanEdge) → 液面位置定位 → 高度计算 → 合格判断

配合:投影曲线(CKProjection)可辅助液位识别

3.5 物流仓储行

快递分

系统架构:

高速相机采集 → 运单定位(CKFindBarcode)→ 一维码/二维码解码(CKBarcode/CKReadQRCode)→ 分拣控制信号输出

性能要求:

– 识别速度:<100ms

– 识别率:>99.5%

– 支持多码、污损码

3.6 纺织服装行

面料瑕疵检

工艺流程:

线阵相机扫描 → 图像拼接 → 缺陷检测(CKPatInspect)→ Blob分析(CKBlobAnalyzer) → 瑕疵分类

检测内容:

– 破洞、污渍、线头

– 色差、条纹

– 织纹异常

四、开发集成指

4.1 系统要

操作系统

  • Windows 7/8/10/11(x64)
  • Linux(Ubuntu 18.04+)

开发环境

  • Visual Studio 2015及以上(Windows)
  • GCC 7.0+(Linux)
  • Qt 5.x(若使用CKQtGDI)

硬件要求

  • CPU:Intel i5或以上
  • 内存:8GB+(推荐16GB)
  • 建议配备独立GPU(用于图像显示)

4.2 快速开

基本初始化流程

#include “CKBase.h”

#include “CKDetect.h”

#include “CKGauge.h”

 

// 1. 初始化CKVision库

CKVision::InitLibrary();

 

// 2. 创建图像对象

CKVision::CKImage image;

image.Create(1920, 1080, 8);  // 创建1920×1080, 8位灰度图

 

// 3. 加载图像

image.LoadFromFile(“test.bmp”);

 

// 4. 使用功能模块

// … 执行检测/测量等操作 …

 

// 5. 退出库

CKVision::ExitLibrary();

典型测量示例

#include “CKGauge/CKEdgeTool.h”

#include “CKGauge/CKFitCircle.h”

 

// 创建边缘检测工具

CKVision::CKEdgeTool edgeTool;

edgeTool.SetImage(image);

edgeTool.SetROI(centerX, centerY, width, height, angle);

edgeTool.SetEdgeThreshold(30);  // 边缘阈值

edgeTool.SetEdgePolarity(CK_EDGE_POSITIVE);  // 正边缘

 

// 执行边缘检测

if (edgeTool.Execute())

{

// 获取边缘点

std::vector<CKPoint2f> edgePoints = edgeTool.GetEdgePoints();

 

// 圆形拟合

CKVision::CKFitCircle fitCircle;

fitCircle.SetPoints(edgePoints);

fitCircle.Execute();

 

// 获取结果

float centerX = fitCircle.GetCenterX();

float centerY = fitCircle.GetCenterY();

float radius = fitCircle.GetRadius();

float error = fitCircle.GetFitError();

}

4.3 性能优化建

图像预处理优化

  • 使用ROI限制处理区域,减少计算量
  • 合理选择滤波器尺寸(过大影响速度)
  • 利用图像金字塔进行多尺度处理

算法选择

  • 简单场景优先使用快速算法(如Blob分析优于深度学习)
  • 复杂场景可组合多种算法(先粗定位,后精测量)

并行处理

  • 多相机系统可采用多线程并行处理
  • 利用GPU加速图像滤波等运算

内存管理

  • 及时释放不再使用的图像对象
  • 避免频繁创建/销毁大尺寸图像

五、技术支持与服

5.1 文档资

  • API参考手册(详细函数说明)
  • 算法原理白皮书
  • 应用案例文档
  • 常见问题解答(FAQ)

5.2 开发支

  • 示例代码库(涵盖各功能模块)
  • 技术论坛
  • 在线技术支持
  • 定制开发服务

5.3 培训服

  • 基础培训:SDK使用入门
  • 进阶培训:算法原理与调优
  • 行业应用培训:特定行业解决方案

 

六、总结与展

CKVision SDK 6.0 凭借其完善的功能模块、高性能算法和工业级稳定性,已成为机器视觉开发的理想工具包。无论是2D平面检测还是3D立体测量,从简单的尺寸测量到复杂的缺陷识别,CKVision都能提供可靠的解决方案。

核心优势

  • 全面性:涵盖视觉检测全流程(图像获取→处理→分析→输出)
  • 模块化:按需集成,降低开发复杂度
  • 高精度:亚像素测量,满足高精度要求
  • 易用性:清晰的API设计,丰富的示例代码
  • 行业适配性:针对电子、汽车、制药等多行业优化

未来发展方向

  • 深度学习集成(CNN缺陷检测、AI分类等)
  • 更强的3D能力(点云配准、3D重建)
  • 边缘计算优化(ARM/嵌入式平台支持)
  • 云端协同(视觉数据云端分析)

选择CKVision SDK 6.0,即选择了一个成熟、可靠、持续进化的机器视觉开发平台,助力您的智能制造项目快速落地并长期稳定运行。

 

顶部