晚上好,在互联网上我们可以找到很多将RGB像素值转换为HSV的算法,但我找不到显示它的函数。我正在使用 MS Visual Studio 2013 和 openCV 库。我知道有内置函数来获取 HSV 图像:cvtColor(obrazeczek1, obrazeczek1, CV_BGR2HSV); 但我尝试在没有此功能的情况下执行此操作。例如,要获得灰度图像,我使用函数:
#define NORMALIZE_RGB(x) \
(x > 255 ? 255 : (x < 0 ? 0 : x))
cv::Mat rgb2grey(cv::Mat& I)
{
CV_Assert(I.depth() != sizeof(uchar));
cv::Mat res(I.rows, I.cols, CV_8UC3);
switch (I.channels()) {
case 3:
cv::Mat_<cv::Vec3b> _I = I;
cv::Mat_<cv::Vec3b> _R = res;
for (int i = 0; i < I.rows; ++i)
for (int j = 0; j < I.cols; ++j){
int grey = ((_I(i, j)[0]) + (_I(i, j)[1]) …Run Code Online (Sandbox Code Playgroud)