在 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 中创建了一个可交互的矩形区域,用户可以在图像中拖拽和调整这个矩形区域的大小。这对于图像处理和视觉检测应用非常有用,能够显著提升操作的灵活性和效率。

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

GitHub 加速计划 / vi / vision
15.85 K
6.89 K
下载
pytorch/vision: 一个基于 PyTorch 的计算机视觉库,提供了各种计算机视觉算法和工具,适合用于实现计算机视觉应用程序。
最近提交(Master分支:3 个月前 )
518ee93d 13 天前
7d077f13 14 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐