WPF(Livet)とOpenCVSharpで画像表示

OpenCVSharpのShowImageでも画像表示できますが、WPFのImageを使って表示します。
こんな感じになります。


まずはXAMLです。Grid内だけ変えています。
    





次は、ModelViewです。
using Microsoft.Win32;
using System.Windows;
using System.Windows.Media.Imaging;
using OpenCvSharp;
using OpenCvSharp.Extensions;

namespace LivetSample.ViewModels
{
public class MainWindowViewModel : ViewModel
{
public void Initialize()
{
}

#region FileUri変更通知プロパティ
private string _FileUri;

public string FileUri
{
get
{ return _FileUri; }
set
{
if (_FileUri == value)
return;
_FileUri = value;
RaisePropertyChanged();
}
}
#endregion

#region WBitmap変更通知プロパティ
private WriteableBitmap _WBitmap;

public WriteableBitmap WBitmap
{
get
{ return _WBitmap; }
set
{
if (_WBitmap == value)
return;
_WBitmap = value;
RaisePropertyChanged();
}
}
#endregion


#region FileOpenCommand
private ViewModelCommand _FileOpenCommand;

public ViewModelCommand FileOpenCommand
{
get
{
if (_FileOpenCommand == null)
{
_FileOpenCommand = new ViewModelCommand(FileOpen);
}
return _FileOpenCommand;
}
}

public void FileOpen()
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "ファイルを開く";
dlg.Filter = "画像ファイル|*.jpg";
if (dlg.ShowDialog() == true)
{
FileUri = dlg.FileName;

using(var img = new IplImage(FileUri))
{
WBitmap = img.ToWriteableBitmap();
}
}
}
#endregion
}
}