.Net AI学习笔记系列第一章 OpenCVSharp入门学习

.Net AI学习笔记系列

第一章 OpenCVSharp入门学习



前言

随着AI越来越火爆,作为一个.Net程序员自然不能落伍,本系列文章是个人的AI入门学习笔记,如有错误之处,欢迎大家指正。


一、OPenCVSharp入门学习

OpenCvSharp 是一个用于 .NET 平台的开源 OpenCV 包装器,它提供了用于图像处理和计算机视觉的强大功能。

二、使用步骤

1.开发工具

	VS2019+.net 4.8+OpenCvSharp4

2.引入库

Install-Package OpenCvSharp4

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;

3.示例代码

代码如下(示例):

//灰度化图片
 private void btn_GrayImg_Click(object sender, EventArgs e)
 {
     Mat img = OpenCvSharp.Extensions.BitmapConverter.ToMat((Bitmap)this.picBox_Sel.Image);

     //转换为灰度图片
     //灰度化图像的主要优点是减少了数据量,可以降低计算复杂度和内存占用
     //灰度图像在某些计算机视觉任务中(如边缘检测、形状识别等)比彩色图像更容易处理
     Mat grayImage = new Mat();
     Cv2.CvtColor(img, grayImage, ColorConversionCodes.BGR2GRAY);

     this.picBox_To.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(grayImage);
     this.picBox_To.Refresh();
 }
//高斯模糊
  private void btn_Gaussian_Click(object sender, EventArgs e)
  {
      Mat image = OpenCvSharp.Extensions.BitmapConverter.ToMat((Bitmap)this.picBox_Sel.Image);

      // 高斯模糊
      Mat blurredImage = new Mat();
      Cv2.GaussianBlur(image, blurredImage, new OpenCvSharp.Size(5, 5), 0);

      this.picBox_To.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(blurredImage);
      this.picBox_To.Refresh();
  }
//二值化图片
 private void btn_Binary_Click(object sender, EventArgs e)
  {
      Mat grayImage = OpenCvSharp.Extensions.BitmapConverter.ToMat((Bitmap)this.picBox_To.Image);

      //二值化
      //阈值设置为127,即当像素值大于127时,将其设置为255(白色),否则设置为0(黑色)
      Mat binaryImage = new Mat();
      Cv2.Threshold(grayImage, binaryImage, 186, 255, ThresholdTypes.Binary);

      this.picBox_To.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(binaryImage);
      this.picBox_To.Refresh();
  }

4.运行效果

在这里插入图片描述

总结

OpenCvSharp 是一个用于 .NET 平台的开源 OpenCV 包装器,它提供了用于图像处理和计算机视觉的强大功能。OpenCvSharp 集成了 OpenCV 的 DNN(深度神经网络)模块,允许开发者在 .NET 平台上使用深度学习模型进行图像分类、物体检测、语义分割等任务。这使得 OpenCvSharp 成为 AI 开发者在 .NET 环境中进行计算机视觉和机器学习任务的理想选择。所以学习OpenCvSharp 很有必要,望大家不吝指教!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

brooth123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值