再会!
我似乎无法为我想要在 OpenCV 中完成的工作找到合适的术语。情况如下:
我有一个灰度图像和颜色(BGR)。
我想将颜色“应用”到灰度图像,但保留亮度并在之后保存。
我最初的思考过程是:
- 将 BGR 颜色转换为 Luv
- 从灰度图像中替换 L
- 将最终图像转换为 BGR 并保存
这是我到目前为止所做的:
cv::Mat pixelColor(1, 1, CV_8UC3, cv::Scalar(0));
pixelColor.at<cv::Vec3b>(1, 1) = cv::Vec3b(128, 255, 0); // currently hard-coded but it actually comes from another source
cv::cvtColor(pixelColor, pixelColor, CV_BGR2Luv);
pixelColor.at<cv::Vec3b>(1, 1)[0] = image.at<unsigned char>(y, x);
cv::cvtColor(pixelColor, pixelColor, CV_Luv2BGR);
我遍历了我的灰度图像的所有 y 和 x。实际颜色来自其他地方,但保证是 BGR。
我的问题是:(1)这个过程的正确术语是什么?(2)我哪里错了?