2015-09-30 5 views
0

Я работаю с OpenCV 2.4.11 + Qt и пытаюсь сделать видео и изменить интенсивность красного/синего или зеленого канала, но не нашел никаких функций или настроек для этого. Кто-нибудь знает, как это сделать?Изменение OpenCV RGB-интенсивность

ответ

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 

Если вы хотите изменить все значения данного канала эффективно без изменения других каналов, проверка out How to set given channel of a cv::Mat to a given value efficiently without changing other channels?

+0

Да, я хочу создать слайдер для каждого канала, который изменит изображение. Но когда я устанавливаю каждый пиксель в заданное значение, изображение отверстия является, например, серый или любой другой. как я могу просто изменить изображение, чтобы оно стало более синим или красным. – Phil

+0

@Phil В этом случае вы можете попытаться наложить синее/зеленое/красное изображение на исходное изображение, чтобы имитировать эффект. – herohuyongtao

+0

Хорошо спасибо за помощь – Phil

Смежные вопросы