在C#中初测OpencvSharp4

这篇具有很好参考价值的文章主要介绍了在C#中初测OpencvSharp4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、配置OpenCV

首先,我们新建一个工程,然后就是给这个工程配置OpenCV了,最简单的方法还是Nuget,来我们右键一个Nuget:
opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片
打开Nuget后,你可以直接输入OpenCVSharp4来查找,当然,如果你只是输入OpenCV那显示的选项足够使你眼花缭乱。这里我们还是直接一些输入OpenCVSharp4,直接安装箭头所指四个。
opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片

二、尝试调用OpenCV

第一个程序,我们暂时不做图形识别,这里就看看我们的opencv是否可以工作了,我们做一个图片灰度化的程序,首先记得引入OpenCvSharp

using OpenCvSharp;
private void button1_Click(object sender, EventArgs e)
 {
     String fname=String.Empty;
     OpenFileDialog ofd = new OpenFileDialog();
     if (ofd.ShowDialog() == DialogResult.OK)
         fname=ofd.FileName;
     Mat mat = new Mat(fname);
     Mat gmat = new Mat();
     Cv2.CvtColor(mat, gmat, ColorConversionCodes.BGR2GRAY);
     Cv2.ImShow(fname, gmat);
     Cv2.WaitKey();     
 }

我们随意打开一张下载的图(一张arduino板子的图),给取了灰度化
opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片

三、初步处理

我们拿局部做一个处理,这里用Canny对轮廓进行识别,测试代码如下:

 String fname=String.Empty;
 OpenFileDialog ofd = new OpenFileDialog();

  if (ofd.ShowDialog() == DialogResult.OK)
      fname=ofd.FileName;
  if(fname!=String.Empty)
  {
	  pictureBox1.Image =new Bitmap(fname);
	  Mat mat = new Mat(fname);
	  Mat gmat = new Mat();
	  Cv2.CvtColor(mat, gmat, ColorConversionCodes.BGR2GRAY);
	  Cv2.Canny(mat, gmat, 100, 200);
	  pictureBox2.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(gmat);
  }

效果如下
opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片

到这里,我们的OpenCv算是开张了,后面的工作就是识别啦。

四、显示在PictureBox上

显示在picturebox控件上,并且让图片居中显示。注意,这里一定要安装OpenCVSharp4.Extensions,否则无法获得BitmapConverter.ToBitmap函数。

pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
pictureBox2.SizeMode = PictureBoxSizeMode.CenterImage;
pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat);
pictureBox2.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(gmat);

opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片
当然,现在这里的图片显示位置是固定的,对于观察识别的区域不太方便,我们下一篇博文,我们考虑实现在PictureBox内移动,效果如下:
opencvsharp4,C#,程序绘图,c#,opencv,计算机视觉,OpenCvSharp,picturebox移动图片
感兴趣的童鞋可以继续关注。文章来源地址https://www.toymoban.com/news/detail-603774.html

到了这里,关于在C#中初测OpencvSharp4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c#Winform使用Opencvsharp4实现简易人脸识别

         环境配置: vs2019 , .Net FrameWork 4.8  Opencvsharp4       在Nuget内下载最新的Opencvsharp4即可,        大概说一下我所理解的人脸识别的原理吧,就是先给训练器一些训练数据,就是我们告诉训练器这些数据分别对应的是哪些人,然后训练器就记住这些图像的特征以及对

    2024年02月07日
    浏览(41)
  • C# OpenCvSharp 通道分离

    目录 效果 项目 代码 下载  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Extensions; namespace OpenCvSharp_通道分离 {     public partial class Form1 : Form     {    

    2024年02月09日
    浏览(51)
  • C# OpenCvSharp 轮廓检测

    目录 效果 代码 下载  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Extensions; namespace OpenCvSharp_轮廓检测 {     public partial class Form1 : Form     {        

    2024年04月15日
    浏览(45)
  • c# OpenCvSharp安装(一)

    一  通过NuGet 安装四个拓展包 OpenCvSharp4、OpenCvSharp4.Extensions、OpenCvSharp4.runtime.win、OpenCvSharp4.WpfExtensions C#使用OpenCV的一些代码 需要加头文件 using OpenCvSharp;   //为了使用opencv using Point = OpenCvSharp.Point;   //为了确定我们使用的point是opencv的而不是draw的    c# OpenCV相关文章目录

    2024年04月16日
    浏览(32)
  • C# OpenCvSharp 图像校正

    目录 效果 代码 下载 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Extensions; namespace OpenCvSharp_图像校正 {     public partial class Form1 : Form     {         pu

    2024年02月15日
    浏览(39)
  • C# OpenCvSharp 图片批量改名

    目录 效果 项目 代码 下载 C# OpenCvSharp 图片批量改名 using NLog; using OpenCvSharp; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows.Forms; namespace OpenCvSharp_Demo {     public partial class Form1 : Form     {         public Form1()         {             InitializeCo

    2024年03月12日
    浏览(43)
  • C#图像处理-OpenCVSharp教程:OpenCVSharp与EmguCV的比较与介绍

    C#图像处理-OpenCVSharp教程:OpenCVSharp与EmguCV的比较与介绍 图像处理在计算机视觉和计算机图形学等领域发挥着至关重要的作用。本教程将介绍在C#中使用OpenCVSharp和EmguCV这两个流行的图像处理库,它们提供了丰富的功能和强大的性能。 一、OpenCVSharp介绍与特点 OpenCVSharp是OpenCV的

    2024年02月21日
    浏览(40)
  • C# OpenCvSharp 玉米粒计数

    目录 效果 项目 代码 下载 玉米粒计数 主要处理步骤 1、二值化操作 2、腐蚀 3、距离变换 4、形态学处理 5、找到种子的轮廓区域         OpenCV中,函数distanceTransform()用于计算图像中每一个非零点像素与其最近的零点像素之间的距离,         输出的是保存每一个非零

    2024年02月04日
    浏览(51)
  • C# OpenCvSharp 读取rtsp流

    目录 效果 项目 代码 下载  using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace OpenCvSharp_读取rtsp流

    2024年02月14日
    浏览(43)
  • [C#]使用OpenCvSharp实现区域文字提取

    【官方框架地址】 github.com/shimat/opencvsharp 【算法介绍】 采用opencv算法实现文字区域提取,步骤如下: (1)形态学操作 (2)查找轮廓 (3)筛选那些面积小的 (4)面积小的都筛选 (5)找到最小的矩形 【效果展示】 原图 提取结果: 【实现部分代码】 【源码下载】 https:

    2024年02月02日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包