public Emgu.CV.Mat GetMatByMat(Mat src)
{
OpenCvSharp.Mat dst = new OpenCvSharp.Mat(src.Size(), OpenCvSharp.MatType.CV_8UC3);
int height = src.Rows;
int width = src.Cols;
int cn = dst.Channels();
Emgu.CV.Image<Emgu.CV.Structure.Rgb, byte> array = new Emgu.CV.Image<Emgu.CV.Structure.Rgb, byte>(width, height, new Emgu.CV.Structure.Rgb(0, 0, 0));
array.SetZero();
int R = 1;
for (int row = 0; row < height; row++)
{
for (int col = 0; col < width; col++)
{
int value = src.At<Vec3b>(row, col)[0];
array.Data[row, col, R] = (byte)value;
}
}
return array.Mat;
}
OpenCvSharp.Mat赋值给Emgu.CV.Mat ,并默认一个通道的伪彩色
最新推荐文章于 2025-09-21 02:57:29 发布
这段代码展示了如何从Emgu.CV.Mat对象创建一个新的OpenCvSharp.Mat,并进行像素级别的操作。它创建了一个新的RGB图像矩阵,然后遍历输入图像的每个像素,将第一个通道的值复制到新图像的红色通道。
1万+

被折叠的 条评论
为什么被折叠?



