C# OpenCvSharp 函数详解及应用示例
1. convertTo
定义:
void cv::Mat::convertTo(OutputArray dst, int rtype, double alpha=1.0, double beta=0.0) const
参数:
dst:输出图像
rtype:转换的数据类型
alpha:尺度变换因子
beta:附加到尺度变换后的值上的偏移量
作用或原理:
将图像从一种数据类型转换为另一种数据类型。OpenCV中的数据类型有字节、整数、浮点数以及双精度等,可以通过该函数实现数据类型的转化。
示例:
假设我们有一张灰度图像,我们想将其转换为浮点型并进行归一化处理。
using OpenCvSharp;
Mat src = Cv2.ImRead("grayscale_image.jpg", ImreadModes.Grayscale);
Mat dst = new Mat();
src.ConvertTo(dst, MatType.CV_32F, 1.0 / 255.0, 0);
结果:
dst 是一个归一化到 [0, 1] 范围的浮点型图像
2. split
定义:
void split(const Mat& src, Mat* mvbegin);
void split(InputArray m, OutputArrayOfArrays mv);
参数:
src:输入图像
m:输入图像
mvbegin:输出每个通道
mv:输出每个通道
作用或原理:
将多通道图像分离为每个通道。比如,通过该函数将三通道彩色图像分离分三个单通道图像。
示例:
假设我们有一张彩色图像,我们想将其分离为B、G、R三个通道。