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

【C#】搭建环境之CSharp+OpenCV

在这里插入图片描述
在我们使用C#编程中,对图片处理时会用到OpenCV库,以及其他视觉厂商提供的封装库,这里因为OpenCV是开源库,所以在VS资源里可以直接安装使用,这里简单说明一下搭建的步骤及实现效果,留存。

1. 项目创建

1.1 创建Windows应用窗体

打开vs2022程序,我电脑安装的是这个版本,但对本次说明来说没啥影响。
创建Windows应用窗体。
在这里插入图片描述

1.2 添加控件

在已经创建的窗体中,添加picturebox控件和button控件,用于控制图像显示的效果。
在这里插入图片描述

1.3 添加引用

在右侧“解决方案资源管理器”中,右键项目,从菜单中选择“管理NuGet程序包”,打开程序包安装页面。
在这里插入图片描述
在“浏览”页搜索 OpenCvSharp4,
可以选择安装
OpenCvSharp4 + OpenCvSharp4.Extensions + OpenCvSharp4.runtime。
也可以选择安装
OpenCvSharp4.Windows + OpenCvSharp4.Extensions(我选择此项)。
在这里插入图片描述

2 编写代码

在已经创建好的项目中,进入button控件的click事件,开始编写代码。如下:

 private void Button1_Click(object sender, EventArgs e)
        {
            string imgName = "";
            OpenFileDialog openFileDialog1 = new OpenFileDialog()
            {
                Filter = "图片(*.jpg/*.png/*.gif/*.bmp)|*.jpg;*.png;*.gif;*.bmp"
            };
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                imgName = openFileDialog1.FileName;
                Mat mat = new Mat(imgName, ImreadModes.Unchanged);
                // mat 转 bitmap
                Bitmap bitmap = BitmapConverter.ToBitmap(mat);
                this.PictureBoxFace.Image = bitmap;
            }
            else
            {
                MessageBox.Show("读取图片失败!");
            }
        }

这里只是简单的加载一下图片资源,验证OpenCV库是否好用。

3 编译实现

代码完善之后,开始编译程序,这里就不介绍编译步骤了。
在弹出的窗口对话框中选择要显示的图片。
在这里插入图片描述
在应用窗口中显示选择的图片。
在这里插入图片描述


http://www.kler.cn/a/373806.html

相关文章:

  • ros中launch文件学习(3)
  • 强化学习DQN实践(gymnasium+pytorch)
  • 【AI开源项目】OneAPI -核心概念、特性、优缺点以及如何在本地和服务器上进行部署!
  • 算法定制LiteAIServer视频智能分析软件的过亮、过暗及抖动检测应用场景
  • 堆(堆排序,TOP K, 优先级队列)
  • Java爬虫:在1688上“照片快递”上传图片
  • 树莓派基础设置--1.更新和升级操作系统
  • 文件中台与安全:集成方案的探索与实践
  • REST APIs与微服务:关键差异
  • dicom基础:乳腺影像方位信息介绍
  • ubuntu交叉编译dbus库给arm平台使用
  • 运用通义灵码有效管理遗留代码:提升代码质量与可维护性
  • chrome商店下载的插件转crx安装包
  • openpnp - 手工修改配置文件(元件高度,size,吸嘴)
  • 应用层知识点总结1
  • Java设计模式之代理模式(二)
  • Python变量类型
  • Kubernetes中的网络模型:Service、Ingress、Pod通信详解
  • 3D Gaussian Splatting代码详解(二):模型构建
  • 大数据面试题小汇总
  • 【51单片机】中断定时器原理解析 + 使用
  • 论文阅读-A gated cross-domain collaborative network for underwater object detection
  • 【热门主题】000015 大数据治理:开启数据价值新纪元
  • DEVOPS: 认证与调度
  • muduo库TcpConnection类源码解析——链接管理
  • 数学建模学习(130):使用Python基于模糊TOPSIS算法的多准则决策分析