C# Emgu 类型转换
Bitmap:
Bitmap位图文件,是Windows标准格式,也是.Net主要的图像存储格式。
Bitmap类以System.Drawing为命名空间,继承抽象类Image,同时里面封装了非常多对图像操作的函数。
Image<TColor, TDepth>:
Image<TColor,TDepth>是Emgu Cv3.0版本之前的主要存储图像类型,同时也在3.0之后也是兼容。
TColor是一个颜色类型,TDepth是一个图像深度类型。
Image<TColor, TDepth>的父类为
(CvArray<TDepth>,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable<Image<TColor, TDepth>)。
当有些函数的参数为以上类型,就可以用Image<TColor,TDepth>来替换。以Emgu.CV为命名空间。
Mat:
在Emgu Cv3.0版本之后(包括3.0版本)才出现的,Mat的父类为
(MatDataAllocator,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable<Mat>, ISerializable)
当有些函数的参数为以上类型,就可以用Mat来替换。以Emgu.CV为命名空间。
UMat:
在大多数情况下,您应该使用Matrix类来替换。
UMat父类为(MatDataAllocator,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable<UMat>, ISerializable),以Emgu.CV为命名空 1
Bitmap bitmap = new Bitmap("001.jpg");
2 //Bitmap转Image<Bgr, byte>
Image<Bgr, byte> image = new Image<Bgr, byte>(bitmap);
//Image<Bgr, byte>转Bitmap
Bitmap _bitmap = image.ToBitmap();
Bitmap _bitmap1 = image.Bitmap;
//Image<Bgr, byte>转Mat
Mat _mat = image.Mat;
Mat _mat1 = image.ToUMat().GetMat(Emgu.CV.CvEnum.AccessType.Fast);
//Mat转Image<Bgr, byte>
Image<Bgr, byte> _image = _mat.ToImage<Bgr, byte>();
//Mat转UMat
UMat umat = _mat.GetUMat(Emgu.CV.CvEnum.AccessType.Fast);
//UMat转Mat
Mat mat = umat.GetMat(Emgu.CV.CvEnum.AccessType.Fast);
//UMat转Image<Bgr, byte>
Image<Bgr, byte> _image1 = umat.ToImage<Bgr, byte>();
//Image<Bgr, byte>转UMat
UMat umat2 = image.ToUMat();
20
imageBox1.Image =mat;
imgLoad.Image = image;
C# Emgu 类型转换的更多相关文章
- 为C# as 类型转换及Assembly.LoadFrom埋坑!
背景: 不久前,我发布了一个调试工具:发布:.NET开发人员必备的可视化调试工具(你值的拥有) 效果是这样的: 之后,有小部分用户反映,工具用不了(没反应或有异常)~~~ 然后,建议小部分用户换个电脑 ...
- c# 基础 object ,new操作符,类型转换
参考页面: http://www.yuanjiaocheng.net/webapi/config-webapi.html http://www.yuanjiaocheng.net/webapi/web ...
- Struts2日期类型转换
针对日期类java.util.Date进行类型转换,要求客户端使用"yyyy-MM-dd","yyyy/MM/dd"中的任意一种输入,并以"yyyy- ...
- 【.NET深呼吸】基础:自定义类型转换
照例,老周在开始吹牛之前,先讲讲小故事,这是朋友提出的建议,老TMD写技术有什么了不起的,人人都会写.后来老周想想,也确实,代码谁不会写,能写到有品位有感悟,就不容易做到.于是,老周接受了该朋友的建议 ...
- C++四种类型转换方式。
类型转换有c风格的,当然还有c++风格的.c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比 ...
- struts2类型转换
1. Struts2中的类型转换 我们知道通过HTTP提交到后台的数据,都是字符串的形式,而我们需要的数据类型当然不只字符串类型一种.所以,我们需要类型转换! 在Struts2中,类型转换的概念除了用 ...
- C++_系列自学课程_第_11_课_类型转换_《C++ Primer 第四版》
上次说了关于表达式的一些内容,说到还有一些关于数据类型转换的内容,今天我们接着八一八C++中的数据类型转换. 一.隐式类型转换 在表达式中,有些操作符可以对多种类型的操作数进行操作, 例如 + 操作符 ...
- Struts2入门(三)——数据类型转换
一.前言 笔者一直觉得,学习一个知识点,你首先要明白,这东西是什么?有什么用?这样你才能了解.好了,不说废话. 1.1.类型转换为何存在?什么是类型转换? 在MVC框架中,都是属于表示层解决方案,都需 ...
- js条件判断时隐式类型转换
Javascript 中,数字 0 为假,非0 均为真 在条件判断运算 == 中的转换规则是这样的: 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 ...
随机推荐
- fuser:command not found
yum 安装fuser命令 yum install -y psmisc
- 4月22日MySQL学习
前面学习的知识基本都是概念知识没有什么代码,然后还有图形界面来辅助学习. 今天学习了MySQL的存储引擎,最常用的两种 MYISAM:不支持事务,也不支持外键,但是访问速度快. INNODB:支持事务 ...
- bs4模块
1.导入模块 from bs4 import BeautifulSoup 2.创建对象 Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它 ...
- matolop画图
import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,6,100) y=np.cos(2*np.pi*x)*np.exp ...
- Jenkins_安装
1.下载war包 wget -c -O ./jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war 2.启动下载好的wa ...
- 重装了Devexpress后项目报Dll引用找不到问题解决办法
最近将我的开发环境从VS2015升级到VS2017,升级完后报如下错误,找不到Dev的引用,明明是重新装了dev为什么找不到呢? 经过查看dll引用地址,发现我的dev一开始是安装在C盘,dll引用路 ...
- Linux记录-GC值
jmap -heap pid 查看gc情况: jstat -gc PID 刷新频率 jstat -gc 12538 5000 导出堆内存dump 文件: jmap -dump:file=文件名.bin ...
- 装饰器模式-Decorator(Java实现)
装饰器模式-Decorator(Java实现) 装饰器模式允许向一个现有的对象添加新的功能, 同时又不改变其结构. 其中 "现有对象"在本文中是StringDisplay类. 添加 ...
- beego学习1
下载 go get -u -v github.com/astaxie/beego beego源码 go get -u -v github.com/beego/bee bee开发工具 bee ...
- E. Vanya and Balloons Codeforces Round #355 (Div. 2)
http://codeforces.com/contest/677/problem/E 题意:有n*n矩形,每个格子有一个值(0.1.2.3),你可以在矩形里画一个十字(‘+’形或‘x’形),十字的四 ...