OpenCvSharp函数篇(查函数自用)

OpenCvSharp函数篇(查函数自用)

目录

Mat对象

创建窗口 Cv2.NamedWindow()

加载图片 Cv2.ImRead()

展示窗口 Cv2.ImShow()

修改窗口大小 Cv2.ResizeWindow()

保存图片 Cv2.ImWrite()

Mat对象

Mat():创建一个空的 Mat 对象。

Mat(int rows, int cols, MatType type):创建指定行数、列数和类型的空矩阵。

Mat(Size size, MatType type):创建指定大小和类型的空矩阵。

Mat(int rows, int cols, MatType type, Scalar scalar)

:创建指定行数、列数、类型和初始值的矩阵。

Mat(Size size, MatType type, Scalar scalar)

:创建指定大小、类型和初始值的矩阵。

Mat(int rows, int cols, MatType type, void* data)

:创建一个指定行数、列数、类型和数据指针的矩阵。

Mat(Size size, MatType type, void* data)

:创建一个指定大小、类型和数据指针的矩阵。

Mat(int rows, int cols, MatType type, void* data, long step)

:创建一个指定行数、列数、类型、数据指针和步长的矩阵。

Mat(Size size, MatType type, void* data, long step)

:创建一个指定大小、类型、数据指针和步长的矩阵。

构造函数的参数含义如下:

rows:矩阵的行数。cols:矩阵的列数。size:矩阵的大小,以 Size 对象表示。type:矩阵的类型,使用 MatType 枚举值指定。scalar:初始值,使用 Scalar 对象表示。data:数据指针,用于指定矩阵的数据。step:步长,用于指定矩阵的行与行之间的间隔。

创建窗口 Cv2.NamedWindow()

Cv2.NamedWindow("new", WindowFlags.Normal);

Cv2.DestroyAllWindows();#最后用于销毁窗口资源

1、第一个参数为窗口名称;

2、第二个参数为窗口状态,常用的两个:

WindowFlags.Normal:可以调整窗口大小,随意拖动。

WindowFlags.AutoSize:不能调整窗口大小,受图片大小影响

加载图片 Cv2.ImRead()

Mat mat = Cv2.ImRead(string fileName, [lmreadModes flags = lmreadModes.Color]);

1、第一个参数为文件路径;

2、第二个参数为如何读取图像:

ImreadModes.Color 表示以彩色模式读取图像,即保留图像的颜色信息。这意味着返回的 Mat 对象将具有三个通道(BGR顺序)

ImreadModes.Color:以表示以彩色模式读取图像,即保留图像的颜色信息。这意味着返回的 Mat 对象将具有三个通道(BGR顺序)ImreadModes.Grayscale:以灰度模式读取图像,将图像转换为单通道的灰度图像。ImreadModes.AnyDepth:以原始深度读取图像,保留图像的原始位深度。ImreadModes.AnyColor:以原始颜色模式读取图像,保留图像的原始颜色空间。

展示窗口 Cv2.ImShow()

Cv2.ImShow("new", img);

第一个参数为窗口名称,后面为Mat类,也就是前面加载的图片类

该方法如果第一个参数指定的窗口名称不存在,则会自动进行创建后显示。

修改窗口大小 Cv2.ResizeWindow()

Cv2.ResizeWindow("new", 640,480);#参数为(窗口名称,宽度,高度)

保存图片 Cv2.ImWrite()

Cv2.ImWrite(@"E:/1.png",img);#参数(文件路径,mat类)

按位与运算 Cv2.Bitwiseand() 图像合并

Cv2.BitwiseAnd(InputArray src1, InputArray src2,

OutputArray dst, InputArray mask = null)

src1: 第一个输入图像。src2: 第二个输入图像。dst: 输出图像,用于存储按位与运算的结果。mask(可选): 掩码图像,用于指定哪些位置进行按位与运算。对于每个输入图像 src1 和 src2,都会执行按位与运算。如果提供了掩码图像 mask,则只有在掩码图像中对应位置的像素为非零时,才进行按位与运算。这可以选择性地应用按位与操作。src2的白色区域保持src1原像素,黑色区域置黑色(0)结果存储在输出图像 dst 中。

按位或运算 Cv2.Bitwiseand() 图像合并

Cv2.BitwiseOr(src1, src2, dst, mask);

参数同上,src2的黑色区域保持src1原像素,白色区域置白色(255)

相关推荐

福克斯的原装电瓶能用多久?
365的账户被关闭

福克斯的原装电瓶能用多久?

📅 07-12 👁️ 4179
一张嘴为什么老是拉丝
365bet进不去

一张嘴为什么老是拉丝

📅 09-19 👁️ 4095
阴阳师好玩吗?阴阳师好不好玩评测
365的账户被关闭

阴阳师好玩吗?阴阳师好不好玩评测

📅 08-13 👁️ 4715