当前位置: 首页 > news >正文

C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

继之前的Python中使用Opencv-python库绘制直线、矩形、圆、文本和VC++中使用OpenCV绘制直线、矩形、圆和文字,将之前的Python和C++示例代码翻译成C#语言,很简单,还是借用OpenCvSharp4库中的Line、Rectangle、Circle、PutText,值得一提的是https://github.com/opencv/opencv以及OpenCvSharp4库和Opencv-python的函数基本相同。

一、OpenCvSharp4库

OpenCvSharp4库是一个基于.Net封装的OpenCV库,Github源代码地址为:https://github.com/shimat/opencvsharp,里面有关于Windows下安装OpenCvSharp4库的描述,如下图所示:
OpenCvSharp4库

二、C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

1、使用VS2022创建一个C# .Net控制台程序,项目命名为OpenCVExample

2、安装OpenCvSharp4库

安装OpenCvSharp4OpenCvSharp4.runtime.win两个NuGet包,或者直接安装OpenCvSharp4.Windows
安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包

3、使用OpenCvSharp4绘制直线、矩形、圆、文本

对应的C#代码如下:

using OpenCvSharp;
using System;namespace OpenCVExample
{public class Program{/// <summary>/// 绘制直线、矩形、圆、文字/// </summary>public static void DrawShapes(){Mat img = new Mat(512, 512, MatType.CV_8UC3, new Scalar(0, 0, 0)); // 高度512,宽度512,颜色为黑色int height = img.Height;int width = img.Width;int channels = img.Channels();Console.WriteLine("height: {0}, width: {1}, channels: {2}", height, width, channels);// 在图像左上角原点(0,0)到右下角画一条绿色的直线,线条厚度为3Cv2.Line(img, new Point(0, 0), new Point(height, width), new Scalar(0, 255, 0), 3);// 在左上角顶点(0,0)和右下角(250,350)处绘制一个红色矩形,边界线条厚度为2Cv2.Rectangle(img, new Point(0, 0), new Point(250, 350), new Scalar(0, 0, 255), 2);// 以(400,50)为中心,绘制半径为30的圆,颜色为青色(绿+蓝=青(Cyan))Cv2.Circle(img, new Point(400, 50), 30, new Scalar(255, 255, 0), 2);// 在(350,300)处绘制文字,字体为FONT_HERSHEY_COMPLEX,比例为1,颜色为黄色,厚度为2Cv2.PutText(img, "OpenCV", new Point(350, 300), HersheyFonts.HersheyComplex, 1, new Scalar(0, 255, 255), 2);Cv2.ImShow("Image", img);Cv2.WaitKey(0); // 永久等待用户输入,直到用户按下按键结束Cv2.DestroyAllWindows();    // 销毁所有窗口}   static void Main(string[] args){DrawShapes();}}
}

4、程序运行结果

在Visual Studio 2022中运行上述代码,结果如下:
C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

三、参考资料

  • OpenCvSharp4
  • LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision
  • murtazahassan/Learn-OpenCV-cpp-in-4-Hours
  • LEARN OPENCV in 3 HOURS with Python | Including 3xProjects | Computer Vision
  • Learn-OpenCV-in-3-hours
  • OpenCV官网
  • Python中使用Opencv-python库绘制直线、矩形、圆、文字
http://www.lryc.cn/news/293609.html

相关文章:

  • Qt程序设计-自定义控件(提升法)
  • 计算机网络基础知识笔记
  • 【iOS ARKit】2D肢体动作捕捉
  • MAC word删除空白页
  • 字面跳动前端面试题:React Hook为什么不能放在if/循环/嵌套函数里面?
  • 【SpringBoot】SpringBoot的web开发
  • houdini 入门指南-参考自用,内有翻译错误
  • 【笔记】SPN和PLMN 运营商网络名称显示
  • Selenium处理Alert弹窗
  • FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮
  • 4个最佳的免费全磁盘加密程序,总有一款适合你
  • SQL语句创建数据库
  • 【lesson38】让minishell支持重定向
  • 【安装指南】maven下载、安装与配置详细教程
  • matplotlib-中文乱码问题解决方案
  • Redis(十一)单线程VS多线程
  • 【微服务】Spring Boot集成ELK实用案例
  • 已解决: ImportError: cannot import name ‘relu‘ from ‘keras.layers‘ 问题
  • python-产品篇-火车票分析助手
  • 设计一个可以智能训练神经网络的流程
  • 自然语言处理(02/10):自然语言处理任务和应用程序
  • Jmeter学习系列之三:测试计划详细介绍
  • mermaid使用指南+notion使用实例-持续更新中
  • Pytroch 自写训练模板适合入门版 包含十五种经典的自己复现的一维模型 1D CNN
  • 【30秒看懂大数据】变量
  • Redis - 多集群数据源配置
  • 五大架构风格之四-虚拟机架构风格
  • 在 C# 中 checked 和 unchecked 关键字
  • 【算法分析与设计】跳跃游戏
  • openssl3.2 - helpdoc - P12证书操作