gpt4 book ai didi

c# - EmguCv:降低灰度

转载 作者:行者123 更新时间:2023-12-02 17:49:02 26 4
gpt4 key购买 nike

有没有办法减少openCv中的灰度图像的灰度?

通常我有一个从0到256的灰度值

Image<Gray, byte> inputImage.



就我而言,我只需要0-10的灰度值。我有没有使用OpenCV做到这一点的好方法,尤其是对于C#?

最佳答案

OpenCV上没有内置允许这种事情的东西。

不过,您可以自己编写一些东西。看一下这个C++ implementation并将其转换为C#:

void colorReduce(cv::Mat& image, int div=64)
{
int nl = image.rows; // number of lines
int nc = image.cols * image.channels(); // number of elements per line

for (int j = 0; j < nl; j++)
{
// get the address of row j
uchar* data = image.ptr<uchar>(j);

for (int i = 0; i < nc; i++)
{
// process each pixel
data[i] = data[i] / div * div + div / 2;
}
}
}

只需将灰度 Mat发送到此函数并使用 div参数即可。

关于c# - EmguCv:降低灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27745914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com