BlobToolDemo.exe 斑点分析,采用CkVisionSDK开发包利用其先进的算法工具来实现。
检测图像中目标的数量和几何特征(面积、位置、方位、长轴和短轴),目标对象的定义为二值图像中黑色或白色像素连通区域,该功能要求图像背景均匀并亮度和目标的亮度区别比较明显。
分割阈值:设置二值图像的分割阈值,当像素灰度值大于等于该值为白色,否则为黑色。
自动计算阈值:软件将根据直方图分布自动计算出分割阈值。
二值图像预览:为了方便调整阈值,以二值化效果显示当前图像。
检测类型:可以设置当前需要检测的目标为黑色像素或白色像素区域。
连通性:算法中判定为连通的方法,4连通表示只在上、下、左和右4个方向上相邻才被判定为互相连通,8连通则在左上、右上、左下和右下方向上也算是互相连通。
限定面积:当目标面积(像素数量)小于该值时会被删除。
主轴椭圆特征:主轴椭圆为以区域重心为中心拟合的椭圆。
凸包特征: 分析计算凸包面积。
最小外接矩形特征:计算连通区域的最小面积外接矩形。
过滤:可以设置目标每种特征的最小值和最大值,当某个目标的特征不在该范围值只能则会被移除,列表中被勾选的项目表示使用该特征的过滤功能。
特征:按照指定特征将所有目标对象进行排序。
方式:排序方式,可以选择升序或降序。
激活排序:勾选表示使用排序功能。
BlobToolDemo 斑点分析
1.)在 StdAfx.h 的头文件中添加读取条码相关的文件链接。
#include "..\\..\\Include\\CKGDI.h"
#include "..\\..\\Include\\CKBase.h"
#include "..\\..\\Include\\CKBlobAnalyzer.h"
#ifdef _WIN64
#pragma comment(lib, "..\\..\\Lib_x64\\CKGDI.lib")
#pragma comment(lib, "..\\..\\Lib_x64\\CKBase.lib")
#pragma comment(lib, "..\\..\\Lib_x64\\CKBlob.lib")
#else
#pragma comment(lib, "..\\..\\Lib\\CKGDI.lib")
#pragma comment(lib, "..\\..\\Lib\\CKBase.lib")
#pragma comment(lib, "..\\..\\Lib\\CKBlob.lib")
#endif
using namespace CKVision;
//在程式入口和退出的地方增加 初始化和释放CKVISION库。
BOOL CBlobToolDemoApp::InitInstance()
CKVision::InitLibrary(); // 初始化CKVision库.
//…….
CKVision::ExitLibrary(); // 退出CKVision库
2.)在资源视图 Dialog 中添加相应的界面操作。
在对话框窗口的 .h 头文件中定义相应的图像处理功能:
void Filter( int nMeasure, double dMin, double dMax, BOOL