Halcon产品圆缺陷检测VC源码

本文介绍了一种基于Halcon的圆缺陷检测算法实现,通过图像处理技术如平滑、分割、边缘检测等步骤来识别瓶口缺陷。文章详细展示了如何通过VC源码实现这一过程。

Halcon产品圆缺陷检测VC源码

#include "HalconCpp.h"
#include <math.h>
using namespace Halcon;
Hobject pImage;

void inspect_bottle_mouth(unsigned int nSmoothX,float* information)
{
  using namespace Halcon;

  // Local iconic variables
  Hobject  Image, ImageSmooth, Rectangle, ImageReduced;
  Hobject  Regions, DarkRegion, RegionOpening, RegionClosing;
  Hobject  RegionFillUp, RegionBorder, RegionDilation, Edges;
  Hobject  ContoursSplit, UnionContours, LongestContour, Circle;
  Hobject  RegionErosion, RegionDifference, ImageReduced1;
  Hobject  ImagePolar, ImagePart,ImageScaleMax, ImageMean, Connection1;
  Hobject  SelectedRegions, RegionUnion, XYTransRegion;


  // Local control variables
  HTuple  StoreEmptyRegion, WindowHandle1, Index;
  HTuple  Width, Height, Number, area1, Row1, Column1, Length;
  HTuple  Row, Column, Radius, StartPhi, EndPhi, PointOrder;

    //用递归过滤器平滑图像
    smooth_image(pImage, &ImageSmooth, "gauss", 0.3);
    //获取图像的尺寸
    get_image_size(ImageSmooth, &Width, &Height);

/*    //创建一个平行于坐标轴的矩形
    gen_rectangle1(&Rectangle, 50, 100, Height, Width-80);
    //图像与区域结合,选取矩形内的区域作为ROI
    reduce_domain(ImageSmooth, Rectangle, &ImageReduced);
    //利用形态学原理检测螺母
    //分割图像,选取灰度值在 80~255 之间的区域
    //threshold (ImageReduced, Regions, 140, 255)
    threshold(ImageReduced, &Regions, 80, 255);      */
    
    
    //分割图像,选取灰度值在 80~255 之间的区域

📁 VisionPlatform.SDK(解决方案) │ ├── 📦 Vision.Core.dll ← 所有模块的基础 ├── 📦 Vision.Hardware.dll ← 硬件抽象接口 │ ├── ICamera.cs → 支持 Basler/Hik/HalconCam/GenICam │ ├── ILightController.cs → 光源控制器通用接口 │ └── IAxisMotion.cs (可选) → 运动控制(XY平台) │ ├── 📦 Vision.Hardware.Camera.Basler.dll ← Basler 官方 SDK 封装 ├── 📦 Vision.Hardware.Camera.Hik.dll ← 海康相机 SDK 封装 ├── 📦 Vision.Hardware.Camera.GenICam.dll ← 通用 GenICam 相机支持(如 FLIR、Ximea) ├── 📦 Vision.Hardware.Camera.Halcon.dll ← Halcon 内置相机驱动封装 │ ├── 📦 Vision.Hardware.Light.HikVision.dll ← 海康光源控制器 ├── 📦 Vision.Hardware.Light.Adlink.dll ← 凌华科技光源卡 ├── 📦 Vision.Hardware.Light.Serial.dll ← RS485/Modbus 光源控制 │ ├── 📦 Vision.Algorithm.dll ← 算法抽象与流程引擎 │ ├── IAlgorithm<TIn, TOut>.cs │ ├── AlgorithmResult{T}.cs │ └── VisionJob.cs → 可编排多个算法步骤 │ ├── 📦 Vision.Algorithm.OpenCvSharp.dll ← OpenCV 实现定位/测量/边缘检测 ├── 📦 Vision.Algorithm.Halcon.dll ← Halcon 实现 OCR/3D/深度学习 ├── 📦 Vision.Algorithm.Inspection.dll ← 自研缺陷检测算法(纹理分析等) │ ├── 📦 Vision.UI.Controls.dll ← WPF 视觉控件库 │ ├── ImageViewer → 图像显示 + 缩放拖拽 │ ├── RoiDesigner → 鼠标绘制 ROI │ ├── GraphicsOverlayLayer → 在图像上画矩形、、文字 │ └── ResultVisualizer → 显示检测结果(绿色OK/红色NG) │ ├── 📦 Vision.Configuration.dll ← 配置系统(JSON/YAML/XML) │ ├── AppConfigBuilder │ └── JobConfigSerializer │ ├── 📦 Vision.Logging.NLog.dll ← NLog 日志实现 ├── 📦 Vision.Logging.Serilog.dll ← Serilog 实现(结构化日志) │ └── 📦 Vision.Standalone.App.exe ← 通用调试工具(带UI)按这个来,我们该做什么了。Vision.Core.dll 这部分已经编译成功
最新发布
10-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

meslog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值