0

我是 Opencv 的新手。我想做的是使用单个数码相机测量液位。经过大量搜索后,我得到了一篇研究论文,其中包含以下链接中的算法和步骤。

http://personnel.sju.edu.tw/改善师资研究成果/98年度/著作/22.pdf

但是这个算法有一个步骤,我需要在捕获的图像上应用色度过滤。Opncv 没有这样的内置功能。那么如何实现色度过滤,有什么方法可以做到这一点。请帮助我,谢谢。

4

1 回答 1

0

我没有设法访问你提供的链接,但我想你想要的是根据颜色(色度)分割你的图像。为此,您必须首先将 BGR 图像(RGB,但红色和蓝色通道交换,这是 OpenCV 的自然排序)转换为基于色度的空间。您可以使用cv::cvtColor()带有参数的函数来执行此操作,例如CV_BGR2YUVor CV_BGR2YCrCb

在此处查看转换函数的完整文档。

之后,您可以使用以下命令拆分图像的通道cv::split()

cv::Mat yuvImage;
std::vector<cv::Mat> yuvChannels;
cv::split(yuvImage, yuvChannels);

然后处理包含您感兴趣的频道的结果矢量的图像。

于 2012-05-13T13:04:49.120 回答