C#+opencvsharp+wpf学习笔记(一)

利用opencvSharp导入图片

一、需要引用的类库

using OpenCvSharp;
using System.Drawing;
using System.IO;

二、利用opencv打开图片

Mat img = new Mat(@"F:\lena.png", ImreadModes.Grayscale);
//Grayscale是引入灰度图像,除此之外还可以是原彩色图像
//这里的Mat就是opencv处理的图片格式,@后面是文件的路径,要换成自己的路径
//之后可以直接用imshow显示,但这里准备使用wpf的image控件显示

三、Mat格式转Bitmap位图

opencv有自带的函数可以把Mat转为Bitmap。

public Bitmap MatToBitmap(Mat img)
        {
            return OpenCvSharp.Extensions.BitmapConverter.ToBitmap(img);
        }

四、Bitmap转BitmapImage

由于wpf的image控件只能显示BitmapImage类型的图片,所以转为Bitmap之后,还得继续转换为BitmapImage。
对于处理单张图片,用下面的方法就行。但若是多张图片,这样会占用很多内存。
详情可参考链接:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、主要内容:OpenCV能够实现强大丰富的图像处理,但是它缺少一个能够支持它运行的界面。Csharp经过多年的发展,得益于它的“所见及所得”能力,非常方便编写界面。这两者如果能够“双剑合璧”,将有效帮助实际工作产出。本课着重推荐GOCW采用“Csharp基于CLR直接调用Opencv编写的算法库”方法,能够将最新的OpenCV技术引入进来,同时保证生成程序的最小化。    为了进一步说明Csharp和OpenCV的结合使用,首先一个较为完整的基于winform实现答题卡识别的例子,相比较之前的实现,本次进一步贴近生产实际、内涵丰富,对算法也进行了进一步提炼。同时我们对WPF下对OpenCV函数的调用、OpenCV.js的调用进行相关教授。       二、课程结构1、 EmguCV、OpenCVSharp和GOCW之间进行比较(方便代码编写、能够融入最新的算法、速度有保障、方便调试找错、拒绝黑箱化);2、视频采集模块的构建,视频采集和图像处理之间的关系;3、视频采集专用的SDK和“陪练”系统的介绍;4、在视频增强类项目中和图像处理项目中,算法的选择;5、Csharp界面设计、图片的存储和其他构建设计;6、较为完整的答题卡识别例子,兼顾界面设计和算法分析;8、WPF基于GOCW也同样可以基于GOCW实现算法调用;webForm虽然也可以通过类似方法调用,但是OpenCV.JS的方法更现代高效。9、关于软件部署的相关要点和窍门。       三、知识要点:1、基本环境构建和程序框架;2、CLR基本原理和应用方法;3、接入、采集、模拟输入;4、图像处理,通过构建循环采集图片;5、增强和实时处理;6、基于投影等技术的答题卡识别算法;7、存储、转换;8、部署交付。        课程能够帮助你掌握Csharp调用Opencv的基本方法,获得相应框架代码和指导;从而进一步提升实现“基于图像处理”的解决方案能力。  
OpenCvSharp是一个OpenCV的.Net wrapper,是用于在C#、VB.NET等语言中实现图像处理和计算机视觉算法的库。它比其他类似的库如SharperCV和OpenCVDotNet封装了更多的OpenCV方法,降低了学习难度。同时,OpenCvSharp支持使用using语句块来方便地处理资源释放,可以直接调用原生风格的OpenCV方法,并且支持将IplImage直接转为Bitmap(GDI)或WriteableBitmap(WPF)。此外,OpenCvSharp也支持在支持Mono的平台上运行,如Linux、BSD、Mac OS X等。你可以在其GitHub页面上找到更多的详细信息和使用示例。 如果你想了解如何安装和搭建OpenCvSharp以及如何在C#开发环境中进行可视化操作,你可以参考这篇CSDN博客文章。它提供了关于安装、搭建以及如何将Mat对象转换为System.Drawing.Bitmap的示例代码。希望这些资料对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#OpenCv开发指南(01)——C#开发环境OpenCvSharp的安装、搭建与可视化教程](https://blog.csdn.net/beijinghorn/article/details/125528673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C#OpenCv开发指南(02)——OpenCvSharp编程入门与矩阵Mat的基础知识](https://blog.csdn.net/beijinghorn/article/details/130176170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值