OpenCVSharp的学习笔记(一)

  • Post author:
  • Post category:其他

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

1.OpenCVSharp的简介
概念:OpenCVSharp是C#的计算机视觉库,直接封装了很多OpenCV的方法,降低处理图像的难度

Mat:表示一个类,是Matrix的缩写,表示矩阵的大小存储的地址,这里用来存储图像
   Mat有很多类型,可以创建空类型,也可以直接来存储图像的地址。

Mat的构造函数

//Mat构造函数有很多种类型
 public Mat();    //可以声明Mat类型的变量 
 public Mat(string fileName, ImreadModes flags = ImreadModes.Color);//图像的路径,图像的颜色类型
 
Mattype: 表示矩阵中元素的类型以及矩阵的通道个数
命名规则:CV_(位数)+(数据类型)+(通道数),它是一系列预定义的常量U;表示无符号整型、S:                 表示符号整型、F:是浮点数。C1,C2,C3,C4表示通道1,2,3,4       
举例:CV_16UC2,表示的是元素类型是一个16位的无符号整数,通道为2。
         单通道的灰度图和三通道的RGB图的对应参数为CV_8UC1、CV_8UC3。

声明: src指输入的原图像   dst指输出图像、与原图像有相同的大小和深度

一、图像的读取、显示、保存

例子:

Mat src = new Mat(@"C:\Users\LQ\Desktop\1.jpg",ImreadModes.Grayscale);  
Window window = new Window("输出窗口",src,WindowFlags.FreeRatio);
Cv2.ImShow("输出窗口",src);
Cv2.ImWrite(@"C:\Users\LQ\Desktop\3.jpg", src);
Cv2.WaitKey(0);

函数:

读取图像:一般利用mat容器直接读取

显示图像:

 Cv2.ImShow("输出窗口",src);

保存图像

 Cv2.ImWrite(@"C:\Users\LQ\Desktop\3.jpg", src);

注意:

1.需要创建一个窗口进行显示图像,Cv2.ImShow()函数会自动显示,但是显示的图像过  大,而且不能进行缩放,所以一般需要自己创建一个窗体

2.创建窗体的名称必须与Cv2.ImShow()显示窗体的名称一致

例如:

  Window window = new Window("输出窗口",src,WindowFlags.FreeRatio);

暂停图像:

  Cv2.WaitKey(0);       按下停顿键,0为特殊值,表示永远停顿,若为1,则只停顿一毫秒

           Cv2.WaitKey(0);

 //ImreadModes:    读取的模式  枚举类型  
 UNchanged:         如果设置,则按原样返回加载的图像(带有 alpha 通道,否则得到裁剪)。
 Grayscale:            如果设置,请始终将图像转换为单通道灰度图像。
 Color:                    如果设置,请始终将图像转换为 3 通道 BGR 彩色图像。
 AnyDepth:             如果设置,当输入具有相应的深度时返回 16 位/32 位图像,
 AnyColor:              如果设置,将以任何可能的颜色格式读取图像。
 LoadGdal:                如果设置,请使用 gdal 驱动程序加载图像。
 IgnoreOrientation:   如果设置,请勿根据 EXIF 的方向标志旋转图像。
 
 
 //WindowFlags:窗口显示的方式
 
 WINDOW_NORMAL                显示图像后,允许用户随意调整窗口大小
 WINDOW_AUTOSIZE              根据图像大小显示窗口,不允许用户调整大小
 WINDOW_OPENGL                 创建窗口的时候会支持OpenGL
 WINDOW_FULLSCREEN        全屏显示窗口
 WINDOW_FREERATIO           调整图像尺寸以充满窗口
 WINDOW_KEEPRATIO           保持图像的比例
 WINDOW_GUI_EXPANDED   创建的窗口允许添加工具栏和状态栏
 WINDOW_GUI_NORMAL       创建没有状态栏和工具栏的窗口


总结

好好学习,天天向上


版权声明:本文为m0_58249005原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。