使用C#+EmguCV处理图像入门(图像读取_显示_保存)二
上个随笔已经介绍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(); //暂停按键等待
}
函数解析:
①命名空间(必须的):
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处理图像入门(图像读取_显示_保存)二的更多相关文章
- opencv入门系列教学(二)图像入门:读取、展示并保存视频
一.从相机读取视频 通常情况下,我们必须用摄像机捕捉实时画面.让我们从摄像头捕捉一段视频(我使用的是我笔记本电脑内置的网络摄像头) ,将其转换成灰度视频并显示出来. 要捕获视频,我们需要 ...
- Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸.图像的读取.显示.保存与复制 原创 2017年11月23日 21:30:49 4440 在使用opencv的方法时,首先必须导入opencv包.新的opencv导 ...
- OpenCV中图像的读取,显示与保存
图像的读取,显示与保存 相关函数:cv2.imread().cv2.imshow().cv2.imwrite() 1.读入图像: 用cv2.imread()函数来读取图像,cv2.imread(路 ...
- 图像的读取,显示与保存(基于skimage模块)
一 skiamge模块 skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能.它 ...
- matlab数字图像处理-冈萨雷斯-读取,显示,保存图像
图像读取:imread(filename) 显示图像‘ 显示多幅图像 保存图像 b 计算压缩比
- Emgu学习之(二)——图像读取、显示、保存
visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image ...
- 第十二节,OpenCV学习(一)图像的读取、显示、保存
一.读取图像 所谓的图像就是一个数组,对图像的处理就是对数字的处理 import cv2 import numpy as np img = cv2.imread('dog.jpg') print(im ...
- opencv中图像的读取,显示与保存1
1.读入图像 用cv2.imread()函数来读取图像,cv2.imread(路径,图像颜色空间)(其中颜色空间默认为BGR彩图) cv2.IMREAD_COLOR:读入一副彩色图像 cv2. ...
- python数字图像处理(2):图像的读取、显示与保存
skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的.为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用. 引入skimage模块可用: from sk ...
随机推荐
- 【React.js小书】动手实现 React-redux(五):Provider - 方志
我们要把 context 相关的代码从所有业务组件中清除出去,现在的代码里面还有一个地方是被污染的.那就是 src/index.js 里面的 Index: 1234567891011121314151 ...
- Hibernate之cascade属性和inverse属性
1.cascade属性 cascade属性的作用是描述关联对象进行操作时的级联特性,只有涉及关系的元素才有cascade属性.具有cascade属性的标记包括<many-to-one/>. ...
- <JZOJ5912>VanUSee
挺魔的 反正我考场上想不到233333333333333 #include<cstdio> #include<cstring> #include<iostream> ...
- H5本地离线存储
前言上一篇文件结尾,有同学问我本地存储图片方法,其实本地存储方式有很多,我们打开谷歌浏览器,查看源代码,在resources页签中,有web SQl ,indexedDB等等,我前面文章讲过Local ...
- MyBatis XML 配置文件 properties 元素扩展
在分析 MyBatis XML 配置文件 properties 元素时提到了三种配置方式,其中 property 子元素 和 properties 文件都比较容易理解,但是为什么还要提供一种代码参数传 ...
- js大作业(0)
DAY1:在看HTML5游戏开发实战.手写了一遍乒乓球.自己玩了半小时.实话讲,和本科学的MFC差别不大.通过setInterval函数获取用户的输入 从而允许多用户操作.parseInt把字符串化为 ...
- 关于jQuery事件绑定放在head中没有响应的问题
1.问题代码如下 <html lang="en<head> <meta charset="UTF-8"> <title>Titl ...
- sublime 安装Anaconda插件 配置python开发环境
我的sublime 3 python 3.6.6 安装Anaconda插件 由于Anaconda插件本身无法知道Python安装的路径,所以需要设置Python主程序的实际位置.选择Settings ...
- python 临时文件
1. TemporaryFile 临时文件 TemporaryFile 不在硬盘上的生成真正文件,而是写在内存中 from tempfile import TemporaryFile # , Name ...
- Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
上一节我们介绍了如何在Spring Boot中使用模板引擎Thymeleaf开发Web应用的基础.接下来,我们介绍一下后端开发经常会遇到的一个场景:可视化图表. 通常,这类需求在客户端应用中不太会用到 ...