Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 迭代EmguCV中Mat的每个像素_C#_Image Processing_Emgucv - Fatal编程技术网

C# 迭代EmguCV中Mat的每个像素

C# 迭代EmguCV中Mat的每个像素,c#,image-processing,emgucv,C#,Image Processing,Emgucv,我想使用C#为EmguCV中Mat的每个像素赋值。我已经阅读了文档,但没有找到任何方法来做到这一点。我可以用图像来做这件事,但我想用垫来做这件事。所以,有人能告诉我怎么做吗。在EmguCV中,您可以使用Data方法获取每个像素的值,但根据文档中的说明,您无法重新分配它。 我从你的问题中了解到,你想把每个像素的颜色值放到Mat类的变量中。如果这是一个问题,你可以看到下面的代码,我的作品完美 Byte[,,] color = new Byte[256, 1, 3];

我想使用C#为EmguCV中Mat的每个像素赋值。我已经阅读了文档,但没有找到任何方法来做到这一点。我可以用
图像
来做这件事,但我想用
来做这件事。所以,有人能告诉我怎么做吗。

在EmguCV中,您可以使用
Data
方法获取每个像素的值,但根据文档中的说明,您无法重新分配它。 我从你的问题中了解到,你想把每个像素的颜色值放到
Mat
类的变量中。如果这是一个问题,你可以看到下面的代码,我的作品完美

        Byte[,,] color = new Byte[256, 1, 3];
        int i = 0;
        for (double x = 0; x < palette.Rows;)
        {
            color[i, 0, 0] = palette.Data[(int)x, palette.Width / 2, 0];
            color[i, 0, 1] = palette.Data[(int)x, palette.Width / 2, 1];
            color[i, 0, 2] = palette.Data[(int)x, palette.Width / 2, 2];
            i++;
            x = x + 3.109;
        }
        Mat lut = new Mat(256, 1, DepthType.Cv8U, 3);
        lut.SetTo(color);
Byte[,]color=新字节[256,1,3];
int i=0;
对于(双x=0;x
我曾在通过任何调色板对图像进行伪着色时使用过这种方法。我已经创建了一个三维数组,并使用
Mat
类的
SetTo
方法,我刚刚将该数组分配给
Mat
。希望这能有所帮助