You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中使用Emgu CV库在图像上绘制矩形(附示例)

C# 基于X/Y轴坐标在图像上绘制矩形实现方法

方案1:使用.NET自带System.Drawing库(无需引入OpenCV/EmguCV)

该方案依赖.NET原生类库,无需额外集成CV相关第三方框架,对新手更友好:

  • 环境准备:.NET Framework 可直接引用System.Drawing命名空间使用;.NET Core/.NET 5+ 版本需先安装NuGet包 System.Drawing.Common
  • 实现代码:
using System.Drawing;
using System.Drawing.Imaging;

// 加载本地原始图像
using Bitmap originalImg = new Bitmap("你的本地图像路径.png");
// 创建绘图对象
using Graphics graphics = Graphics.FromImage(originalImg);

// 自定义矩形参数
int topLeftX = 50; // 矩形左上角X轴坐标
int topLeftY = 50; // 矩形左上角Y轴坐标
int rectWidth = 200; // 矩形宽度
int rectHeight = 150; // 矩形高度
Rectangle targetRect = new Rectangle(topLeftX, topLeftY, rectWidth, rectHeight);

// 定义画笔:颜色为红色,线宽为2像素
using Pen drawPen = new Pen(Color.Red, 2);
// 执行矩形绘制
graphics.DrawRectangle(drawPen, targetRect);

// 保存处理后的图像
originalImg.Save("绘制完成的图像.png", ImageFormat.Png);

注意:System.Drawing.Common 仅默认支持Windows环境,跨平台场景可替换为ImageSharp等跨平台图像库,API逻辑基本一致。

方案2:使用Emgu CV实现

如果后续需要做更多计算机视觉相关操作,可直接用Emgu CV的内置方法实现,步骤如下:

  • 环境准备:安装对应NuGet包,Windows环境需安装 Emgu.CV 和 Emgu.CV.runtime.windows
  • 实现代码:
using Emgu.CV;
using Emgu.CV.Structure;
using System.Drawing;

// 加载本地原始图像
Mat originalImg = CvInvoke.Imread("你的本地图像路径.png");

// 自定义矩形参数
int topLeftX = 50; // 矩形左上角X轴坐标
int topLeftY = 50; // 矩形左上角Y轴坐标
int rectWidth = 200; // 矩形宽度
int rectHeight = 150; // 矩形高度
Rectangle targetRect = new Rectangle(topLeftX, topLeftY, rectWidth, rectHeight);

// 执行矩形绘制:参数依次为目标图像、矩形范围、颜色(BGR格式)、线宽
CvInvoke.Rectangle(originalImg, targetRect, new Bgr(Color.Red).MCvScalar, 2);

// 保存处理后的图像
CvInvoke.Imwrite("绘制完成的图像.png", originalImg);

内容的提问来源于stack exchange,提问作者Bahubali Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:36:08