C#,OpenCV开发指南(01)

C#,OpenCV开发指南(01)

  • 一、OpenCV的安装
    • 1、需要安装两个拓展包:OpenCvSharp4和OpenCvSharp4.runtime.win
  • 二、C#使用OpenCV的一些代码
    • 1、需要加头文件
    • 2、读取图片
    • 3、在图片上画矩形框
    • 4、 在图片上画直线

一、OpenCV的安装

1、需要安装两个拓展包:OpenCvSharp4和OpenCvSharp4.runtime.win

在VS中,通过其工具中自带的扩展包就安装了,不需要像C++中用opencv那样,还要配置属性。

安装步骤:工具——》Nuget包管理器——》管理解决方案的Nuget包。直接搜索opencvsharp。
在这里插入图片描述
在这里插入图片描述

二、C#使用OpenCV的一些代码

1、需要加头文件

using OpenCvSharp;   //为了使用opencv
using Point = OpenCvSharp.Point;   //为了确定我们使用的point是opencv的而不是draw的

2、读取图片

Mat img1 = new Mat("F:\\all_truck\\truck_3.jpg", ImreadModes.Color);
Cv2.ImShow("win1", img1);
Cv2.WaitKey(0);

3、在图片上画矩形框

Mat img1 = new Mat("F:\\all_truck\\truck_3.jpg", ImreadModes.Color);
Cv2.ImShow("win1", img1);
OpenCvSharp.Point truck_a = new Point(100, 100);
OpenCvSharp.Point truck_b = new Point(300, 300);
Cv2.Rectangle(img1, truck_a, truck_b, Scalar.Red);
Cv2.ImShow("win_rect", img1);

4、 在图片上画直线

Mat img1 = new Mat("F:\\all_truck\\truck_3.jpg", ImreadModes.Color);
Cv2.ImShow("win1", img1);
OpenCvSharp.Point truck_a = new Point(100, 100);
OpenCvSharp.Point truck_b = new Point(300, 300);
Cv2.Line(img1,truck_a ,truck_b ,Scalar.Red);
Cv2.ImShow("win_line", img1);
Cv2.WaitKey(0);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62137.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10个牛逼的编程范式,你已经用过了几个?

《10个牛逼的编程范式,你已经用过了几个?》 编程范式是计算机编程中的基本思想和方法论,它描述了不同的编程风格和抽象层次。随着计算机科学的不断发展,编程范式也在不断演进和扩展,从最早的命令式编程到面向对象、声明…

【JavaSpring】注解开发

注解开发定义bean 不指定名称 package org.example.service.impl;import org.example.dao.BookDao; import org.example.service.BookService; import org.springframework.stereotype.Component;Component public class BookServiceimpl implements BookService {private Bo…

opencv基础57-模板匹配cv2.matchTemplate()->(目标检测、图像识别、特征提取)

OpenCV 提供了模板匹配(Template Matching)的功能,它允许你在图像中寻找特定模板(小图像)在目标图像中的匹配位置。模板匹配在计算机视觉中用于目标检测、图像识别、特征提取等领域。 以下是 OpenCV 中使用模板匹配的基…

【无标题】云原生在工业互联网的落地及好处!

什么是工业互联网? 工业互联网(Industrial Internet)是新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式和工业生态,通过对人、机、物、系统等的全面连接,构建起覆盖全产业链、全价值链的全新制造和服务…

AI自动驾驶

AI自动驾驶 一、自动驾驶的原理二、自动驾驶的分类三、自动驾驶的挑战四、自动驾驶的前景五、关键技术六、自动驾驶的安全问题七、AI数据与自动驾驶八、自动驾驶的AI算法总结 自动驾驶技术是近年来备受关注的热门话题。它代表了人工智能和机器学习在汽车行业的重要应用。本文将…

leetcode1052. 爱生气的书店老板(java)

爱生气的书店老板 爱生气的书店老板题目描述滑动窗口代码演示 往期经典算法 爱生气的书店老板 难度 - 中等 原题链接 - 爱生气的书店老板 题目描述 有一个书店老板,他的书店开了 n 分钟。每分钟都有一些顾客进入这家商店。给定一个长度为 n 的整数数组 customers &a…

C语言实现选择排序

什么是选择排序? 选择排序是一种简单直观的排序算法,它的核心思想是每次从未排序的元素中选择最小(或最大)的元素,然后将其放到已排序序列的末尾。通过重复这个过程,直到所有元素都排好序为止。 选择排序…

无涯教程-Perl - link函数

描述 此函数创建一个新文件名NEWFILE,链接到文件OLDFILE。该函数创建一个硬链接;如果需要符号链接,请使用符号链接功能。 语法 以下是此函数的简单语法- link OLDFILE,NEWFILE返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例…

tabBar的使用

参考Api:全局配置 | 微信开放文档 (qq.com) 1.使用说明 2.使用详情 3.使用案例 在全局配置的app.json中 "tabBar": {"color": "#333","selectedColor": "#d43c33","backgroundColor": "#fff&qu…

cmake (更新中)

概述 关于 CMake CMake 是一个可扩展的开源系统,以一种与操作系统和编译器无关的方式来管理构建过程。与许多跨平台系统不同,CMake 被设计为与本机构建环境配合使用。在每个源代码目录中放置简单的配置文件(称为 CMakeLists.txt 文件&#xf…

opencv基础55-获取轮廓的特征值及示例

轮廓自身的一些属性特征及轮廓所包围对象的特征对于描述图像具有重要意义。本节介绍几个轮廓自身的属性特征及轮廓所包围对象的特征。 宽高比 可以使用宽高比(AspectRation)来描述轮廓,例如矩形轮廓的宽高比为: 宽高比 宽度&am…

httpd+Tomcat(jk)的Web动静分离搭建

动静分离是指将动态请求和静态请求分别交给不同的服务器来处理,可以提高服务器的效率和性能。在Java Web开发中,常见的动态请求处理方式是通过Tomcat来处理,而静态请求则可以通过Apache服务器来处理。本文将详细讲解如何结合Apache和Tomcat来…