本人基于兴趣与工作需要,开始学习OpenCV,由于日常开发语言是c#,所以选择了OpenCVSharp,以下内容是本人在学习过程中的一些笔记,可能存在很多错误与不足之处,望指正,谢谢!
以下过程基于VS2022 Preview+OpenCVSharp 4.7.0.20230115
1、创建解决方案
这里取名LearnOpenCVSharp、.Net Framework 4.8
![](https://img-blog.csdnimg.cn/img_convert/b4084f45587b325eedc658f1df9765a5.png)
2、使用NuGet引用OpenCVSharp4
右击"LearnOpenCVSharp"项目,点击"管理NuGet程序包"
![](https://img-blog.csdnimg.cn/img_convert/b9933178de35426e47c9eabcf84d0d90.png)
在浏览中搜索了OpenCVSharp4
这里引用 并安装OpenCvSharp4、OpenCvSharp4.runtime.win
![](https://img-blog.csdnimg.cn/img_convert/efe7fd36323d5528e1f0920d5fca0de9.png)
3、打开并显示一幅图像
主要代码如下
using OpenCvSharp;
/// <summary>
/// 用OpenCVSharp打开图像并显示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ImShowBtn_Click(object sender, EventArgs e)
{
var openFileDlg = new OpenFileDialog();
if (openFileDlg.ShowDialog() != DialogResult.OK) return;
using var img = Cv2.ImRead(openFileDlg.FileName, ImreadModes.Color);//打开图像
//图像打开失败时img也不为null,用Empty()判断
if (img.Empty())
{
MessageBox.Show($"获取图像有误:{openFileDlg.FileName}", "提示");
return;
}
Cv2.ImShow("Image", img);//显示图像
Cv2.WaitKey(0);//任意键继续
Cv2.DestroyAllWindows();//关闭图像窗口
}
如下提示时,参考[C#] framework修改项目语言为C#8.0修改,并重新加载项目
![](https://img-blog.csdnimg.cn/img_convert/9ece4ff87a1b474600f27cdda96ed206.png)
4、最张显示结果如下
![](https://img-blog.csdnimg.cn/img_convert/fdd2f0c9d7521d45ed8f3bd672900a53.png)
源码下载:LearnOpenCVSharp
第一次发文,不足之处望指正!技术无国界!