OpenCV改变RGB强度

时间:2015-09-30 12:59:44

标签: c++ opencv rgb channel

我使用OpenCV 2.4.11 + Qt并尝试制作视频并更改红色/蓝色或绿色通道的强度,但没有找到任何功能或设置来执行此操作。 有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

如果您只想更改某个特定像素的R / G / B值,请使用以下内容:

cv::Mat img; // suppose this is one frame of the video, in CV_BGR
...
img.at<cv::Vec3b>(idx_row, idx_col) = cv::Vec3b(new_b, new_g, new_r); // change here

如果您想在不更改其他频道的情况下有效更改指定频道的所有值,请查看How to set given channel of a cv::Mat to a given value efficiently without changing other channels?