zoukankan      html  css  js  c++  java
  • 使用opencvsharp通过mvvm在image中显示图片

    在wpf mvvm框架中,通过Image控件的 Source属性绑定BitmapImage动态显示图片

    1.MainWindowVIewModel.cs

    using System.Windows.Media.Imaging; //使用BitMapImage类型
    using System.Drawing;

    //Mat转Bitmap

    1         public Bitmap MatToBitmap(Mat image)
    2         {
    3             return OpenCvSharp.Extensions.BitmapConverter.ToBitmap(image);
    4         }
    //Mat转BitmapImage
    1
    public BitmapImage MatToBitmapImage(Mat image) 2 { 3 Bitmap bitmap = MatToBitmap(image); 4 using (MemoryStream stream = new MemoryStream()) 5 { 6 bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png); 7 8 stream.Position = 0; 9 BitmapImage result = new BitmapImage(); 10 result.BeginInit(); 11 // According to MSDN, "The default OnDemand cache option retains access to the stream until the image is needed." 12 // Force the bitmap to load right now so we can dispose the stream. 13 result.CacheOption = BitmapCacheOption.OnLoad; 14 result.StreamSource = stream; 15 result.EndInit(); 16 result.Freeze(); 17 return result; 18 } 19 }

    //定义数据属性

     1         private BitmapImage img;
     2 
     3         public BitmapImage Img
     4         {
     5             get { return img; }
     6             set
     7             {
     8                 img = value;
     9                 this.RaisePropertyChanged("Img");
    10             }
    11         }
    1                 Mat image=new Mat(FileNames[i],ImreadModes.Unchanged); //通过路径读入Mat类型的image
    3 this.Img = MatToBitmapImage(image); //将image转换为BitmapImage传给Img,Img与Source绑定。

    //2.MainWindow.xaml

    1         <Image HorizontalAlignment="Left" Grid.Row="1" Grid.Column="0" Margin="20,20,0,0" Width="800" Source="{Binding Img}" Grid.RowSpan="2" Height="800" VerticalAlignment="Top"/>
  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/sclu/p/12176680.html
Copyright © 2011-2022 走看看