opencv的mat格式转bitmap再转bitmapimage
利用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。
对于处理单张图片,用下面的方法就行。但若是多张图片,这样会占用很多内存。
详情可参考链接: