Я работаю с 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
Если вы хотите эффективно изменить все значения данного канала без изменения других каналов, ознакомьтесь с Как установить для данного канала cv :: Mat значение данное значение эффективно, не меняя другие каналы?
person
herohuyongtao
schedule
30.09.2015
Да, я хочу создать слайдер для каждого канала, который будет изменять изображение. Но когда я устанавливаю каждый пиксель на заданное значение, изображение отверстия, например. серый или что-то в этом роде. как я могу просто изменить изображение, чтобы оно стало более синим или более красным.
- person Phil; 30.09.2015
@Phil В этом случае вы можете попробовать наложить синее / зеленое / красное изображение на исходное изображение, чтобы имитировать эффект.
- person herohuyongtao; 30.09.2015