【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事件,开始编写代码。如下:

csharp 复制代码
 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 编译实现

代码完善之后,开始编译程序,这里就不介绍编译步骤了。

在弹出的窗口对话框中选择要显示的图片。

在应用窗口中显示选择的图片。

相关推荐
wei_shuo4 天前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹17 天前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节
jamison_12 个月前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY2 个月前
HTML5前端第六章节
前端·html·html5·1024程序员节
jamison_12 个月前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY2 个月前
HTML5前端第七章节
1024程序员节
earthzhang20212 个月前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
明明真系叻2 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn
bitenum2 个月前
【C++/数据结构】队列
c语言·开发语言·数据结构·c++·青少年编程·visualstudio·1024程序员节
IT学长编程3 个月前
计算机毕业设计 基于SpringBoot的智慧社区管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·后端·毕业设计·课程设计·论文笔记·1024程序员节