使用C#+EmguCV处理图像入门(图像读取_显示_保存)二

2021-06-18 07:06

阅读:303

标签:枚举类型   mat   基本   16px   ascii   代码   窗口   处理图像   长度   

上个随笔已经介绍EmguCV的一些常用库和程序安装以及环境变量的配置,这次写的是如何使用这个类库对图像进行操作。

EmguCV图像处理系统组成(个人见解):

技术分享图片

图像的基本操作:

技术分享图片

 

贴个代码:

using Emgu.CV;   //使用命名空间
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Emgu.Util; 
static void Main(string[] args)
{
   Mat srcImg = CvInvoke.Imread("1.jpg"); //读取图片
      CvInvoke.NamedWindow("img", NamedWindowType.AutoSize); //创建窗口
   CvInvoke.Imshow("img", srcImg); //显示图片
   CvInvoke.Imwrite("1.bmp", srcImg); //保存结果图片  
   CvInvoke.WaitKey(0); //暂停按键等待
}

函数解析:

①命名空间(必须的):
using Emgu.CV ---封装了OpenCV基本图像处理函数,在CvInvoke类中
using Emgu.CV.CvEnum ---OpenCV枚举类型,包含一些枚举类型宏定义
Imread()函数:

技术分享图片

 1)第一个参数,需要填入图片路径名,支持如下格式:

Windows位图: *.bmp, *.dib
JPEG文件: *.jpeg, *.jpg, *.jpe
JPEG2000文件: *.jp2
PNG图片: *.png
便携文件格式: *.pbm, *.pgm, *.ppm
Sun rasters光栅文件: *.sr, *.ras
TIFF文件: *.tiff, *.tif
2)第二个参数,指定加载图像的颜色类型,
  默认为ImreadModes.Color=1:
技术分享图片

NamedWindow()函数:

技术分享图片

1)第一个参数,设置作为标识的窗口名称
2)第二个参数,窗口显示方式,取值如下:
技术分享图片

Normal:正常大小显示,用户可以改变窗口大小
Autosize: 根据图像大小自动调整,用户不能手动改变窗口大小
Opengl: 支持openGL
Imshow()函数:

技术分享图片

 

 1)第一个参数,设置需要显示的窗口名称
2)第二个参数,填写需要显示的图像
注:函数中出现InputArray/ OutputArray可先当做Mat类型
⑤Imwrite()函数:
技术分享图片
1)第一个参数,设置保存的文件名,需填写后缀,如"1.bmp"
2)第二个参数,要保存的Mat类型图像数据
3)第三个参数,表示特定格式保存的参数编码,一般采用默认值不填写
WaitKey()函数:
技术分享图片

1)第一个参数,如果delay>0, 表示等待delay毫秒之后结束
如果delay=0, 表示无限等待,直到有按键按下结束
2)返回值为对应按下按键的ASCII码值,如Esc的ASCII码为27

介绍一下ASCll表:

技术分享图片

还有一些常用的方法:

1).IsEmpty 判断图像是否为空
2).Rows 获取图像行数(高度)
3).Cols 获取图像列数(长度)
4).NumberOfChannels 获取图像通道数
5).Depth 获取图像位深度

使用C#+EmguCV处理图像入门(图像读取_显示_保存)二

标签:枚举类型   mat   基本   16px   ascii   代码   窗口   处理图像   长度   

原文地址:https://www.cnblogs.com/net-open/p/10310948.html


评论


亲,登录后才可以留言!