首页 > 其他分享 >在 Cognex VisionPro CogRecordDisplay 中创建交互式矩形区域

在 Cognex VisionPro CogRecordDisplay 中创建交互式矩形区域

时间:2024-05-28 22:57:47浏览次数:26  
标签:控件 VisionPro Cognex 区域 cogRectangle new 矩形 CogRecordDisplay

在 Cognex VisionPro CogRecordDisplay 中创建交互式矩形区域

在图像处理和视觉检测应用中,定义和操作特定区域是至关重要的。本文将演示如何在 Cognex VisionPro 中使用 C# 创建一个可交互的矩形区域,并启用拖拽和调整大小功能,从而提升图像处理的灵活性和效率。

前提条件
  • 安装 Cognex VisionPro SDK
  • 安装 Visual Studio
  • 具备基本的 C# 编程知识
创建交互式矩形区域

我们将使用 CogRecordDisplay 控件来显示图像,并在其中绘制一个可交互的矩形区域。

步骤 1:初始化 CogRecordDisplay 控件

首先,初始化 CogRecordDisplay 控件,并将其添加到窗体中。

using System;
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.Display;

namespace VisionProExample
{
    public partial class MainForm : Form
    {
        private CogRecordDisplay cogRecordDisplay;
        private CogRectangle cogRectangle;

        public MainForm()
        {
            InitializeComponent();

            // 初始化 CogRecordDisplay 控件
            cogRecordDisplay = new CogRecordDisplay
            {
                Dock = DockStyle.Fill
            };
            this.Controls.Add(cogRecordDisplay);

            // 加载并显示图像
            LoadAndDisplayImage();

            // 创建并添加可交互的矩形区域
            CreateInteractiveRectangleRegion();
        }

        private void LoadAndDisplayImage()
        {
            // 假设有一个图像文件
            string imagePath = "path_to_your_image_file.bmp";

            // 加载图像
            CogImage8Grey image = new CogImage8Grey(new System.Drawing.Bitmap(imagePath));

            // 将图像加载到 CogRecordDisplay 控件中
            cogRecordDisplay.Image = image;
        }

        private void CreateInteractiveRectangleRegion()
        {
            // 创建一个矩形区域
            cogRectangle = new CogRectangle
            {
                X = 100, // 矩形左上角的X坐标
                Y = 100, // 矩形左上角的Y坐标
                Width = 200, // 矩形宽度
                Height = 150 // 矩形高度
            };

            // 将矩形区域添加到 CogRecordDisplay 的交互式图形中
            cogRecordDisplay.InteractiveGraphics.Add(cogRectangle, "RectangleRegion", false);

            // 使矩形区域可拖动和调整大小
            cogRectangle.Interactive = true;
            cogRectangle.GraphicDOFEnable = CogRectangleDOFConstants.Position |
                                            CogRectangleDOFConstants.Size;
        }

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }
}
步骤 2:加载并显示图像

加载图像并在 CogRecordDisplay 控件中显示:

private void LoadAndDisplayImage()
{
    // 假设有一个图像文件
    string imagePath = "path_to_your_image_file.bmp";

    // 加载图像
    CogImage8Grey image = new CogImage8Grey(new System.Drawing.Bitmap(imagePath));

    // 将图像加载到 CogRecordDisplay 控件中
    cogRecordDisplay.Image = image;
}
步骤 3:创建可交互的矩形区域

创建一个矩形区域,并将其设置为可交互,允许拖动和调整大小:

private void CreateInteractiveRectangleRegion()
{
    // 创建一个矩形区域
    cogRectangle = new CogRectangle
    {
        X = 100,
        Y = 100,
        Width = 200,
        Height = 150
    };

    cogRecordDisplay.InteractiveGraphics.Add(cogRectangle, "RectangleRegion", false);

    // 设置矩形区域为可交互
    cogRectangle.Interactive = true;
    cogRectangle.GraphicDOFEnable = CogRectangleDOFConstants.Position |
                                    CogRectangleDOFConstants.Size;
}
结论

通过上述步骤,我们在 Cognex VisionPro 中创建了一个可交互的矩形区域,用户可以在图像中拖拽和调整这个矩形区域的大小。这对于图像处理和视觉检测应用非常有用,能够显著提升操作的灵活性和效率。

希望这篇博客对你有所帮助。如果你对图像处理和视觉检测技术感兴趣,请关注我们的博客,获取更多有价值的内容和教程。别忘了在评论区分享你的想法和问题,让我们一起探索更多的视觉检测技术!

标签:控件,VisionPro,Cognex,区域,cogRectangle,new,矩形,CogRecordDisplay
From: https://blog.csdn.net/hupaolo/article/details/139221596

相关文章

  • VisionPro - Calibration 校准
    Calibration校准许多视觉应用程序要求您以有意义的真实世界值报告测量值和位置。校准包括计算将图像坐标映射到真实世界坐标的二维变换,然后将此预先计算的坐标空间附加到每个运行时图像的坐标空间树。运行时图像中的视觉工具可以以校准单位报告其结果。VisionPro包括两个校准......
  • VisionPro 图像采集的两种方式
    1.通过调用事先保存的CogAcqFifoTool工具(.vpp)获取图像a.配置相机及网络(GigEConfigurationTool)b.在VisionProQuickBuild中添加vs项目中通过代码运行相机采集2.通过实现IcogAcqFifo接口获取图像......
  • VisionPro相机掉线问题
    最近有一个项目用到visionpro,遇到一个问题记录一下。就是相机频繁掉线。报错信息:在网上查找原因,关闭防火墙、设置巨帧模式、调大接收缓存区都试过,没有改善。因为其他原因,我们中途换了海康相机。但是两款相机都有掉线的问题。所以排除相机的因素。 并且这个项目我们有两台......
  • 视觉软件 VisionPro 与 C# 对接简单说明(包括常用控件)
    视觉软件VisionPro与C#对接简单说明(包括常用控件)C#和VisionPro对接:VisionPro的部分控件是可以直接在C#WinForm里调用的;算法文件在VisionPro平台里编辑好后保存下来也可以通过C#加载调用;下面我们主要说一下C#调用Vpp文件首先我们要先引用VisionPro平台的dll文件,在项目文件......
  • Cognex 的 CogFitCircle 和 CogNPointToNPoint 类的简单测试
    privatevoidbtn_Test_Click(objectsender,RoutedEventArgse){CogFitCirclecogFitCircle=newCogFitCircle();cogFitCircle.AddPoint(0,10);cogFitCircle.AddPoint(10,0);cogFitCircle.AddPoint(0,-10);cogFitCircle.AddPoint(-10,0);......
  • VisionPro学习笔记(5)——极轴展开工具PolarUnwrapTool
    如果需要了解其他图像处理的文章,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPracticeVisionPro有很多的示例和算子,这里展示一个基础的算子PolarUnwrapTool。我自己的笔记不会按照顺序一一展示出来的,也许那......
  • TensorFlow、PyTorch、Keras、Scikit-learn和ChatGPT。视觉开发软件工具 Halcon、Visi
     目录TensorFlow、PyTorch、Keras、Scikit-learn和ChatGPT1.TensorFlow2.PyTorch3.Keras视觉开发软件工具Halcon、VisionPro、LabView、OpenCV,还有eVision、Mil、Sapera等。(一)、Halcon(二)OpenCV:ComputerVision(计算机视觉)(三)VisionProTensorFlow、PyTorch、Keras、Scikit-learn和......
  • VisionPro如何在ToolBlock的输入输出中新增特定类型的集合
    现在系统类型下方定位到泛型集合(下图的HashSet)然后在代码中进行赋值即可改变泛型的具体类型  ......
  • VisionPro学习笔记(4)——PatInspect
    如果需要了解其他图像处理的文章,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPracticeVisionPro有很多的示例和算子,这里再展示一个最新出的算子PatInspectTool。我自己的笔记不会按照顺序一一展示出来的,也......
  • VisionPro学习笔记(3)——BeadInspectTool
    如果需要了解其他图像处理的文章,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPracticeVisionPro有很多的示例和算子,这里再展示一个最新出的算子BeadInspectTool。估计理解这个算子需要有一定的基础,但是使用......