【EmguCV系列二】EmguCV中的图像数据类型

本文详细介绍了EmguCV3.1.0中关键的图像处理类和对象,包括Image<TColor,TDepth>和Mat的使用方法,以及常见的颜色类型如Bgr、Gray和Hsv等。同时,文章还提供了图像初始化的各种方式,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于EmguCV3.1.0

图像类:

EmguCV中主要的两个图像对象为Image<TColor,TDepth>MatImage其中TColor是颜色类型,TDepth是图像位深度。

Mat3.1.0中作为Image<TColor,TDepth>中的属性可以直接访问,还有父类UMat,不建议使用。

当然还有更加直观的Matrix矩阵类型,基本方法和上面两种类型类似。

其中TColor包含了Bgr Bgr565 Bgra Gray Hls Hsv Lab Luv Rgb Rgba Xyz Ycc
其中常用的包括Bgr,Gray,Hsv,一开始很多人会以为初始的三通道图像位Rgb,其实在OpenCV中的顺序为Bgr,OpenCV中的Rgb会调换R和B的位置。

Gray为单通道,也被常用为灰色。

Hsv是色调(H),饱和度(S),明度(V),可以表达图像的颜色。

还有一些后面加a是透明度为四通道,xyzycc是另外2中颜色的表达方式。

TDepth就是一些常用的数据类型,byte,uint,int ,float,double,一般正常打开图像都是用byte,如果图像需要做复杂运算会出现小数点的话可以用double

 

图像初始化:

Image<TColor,TDepth>

public Image(string fileName);直接从文件中打开图像
public Image(Bitmap bmp);从.net的基本图像类型Bitmap中创建对象 

public Image(Size size);通过图像尺寸创建空对象
public Image(Image<Gray, TDepth>[] channels);通过通道数组创建对象
public Image(int width, int height);同size创建空对象
public Image(int width, int height, TColor value);同size创建空对象,同时指定颜色类型

Mat
Mat的话就简单一点,可以直接Mat()创建空对象
public Mat(string fileName, LoadImageType loadType);通过文件名,加载方式创建对象
public Mat(Mat mat, Rectangle roi);通过已存在的Mat对象根据roi矩形框获取新的Mat
public Mat(Size size, DepthType type, int channels);根据size,位深度和通道数创建空对象
public Mat(int rows, int cols, DepthType type, int channels);根据行列数,位深度和通道数创建空对象


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值