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

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

EmguCV图像处理系统组成(我的看法):编码

图像的基本操做:spa

 

贴个代码:code

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); //暂停按键等待
}

函数解析:orm

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

 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:
string

NamedWindow()函数:it

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 获取图像位深度

相关文章
相关标签/搜索