سلام می تونی این جوری کار کنی :
#include <vector>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char *argv[])
{
const int SIZE=100;
//empty image
cv::Mat image(SIZE,SIZE,CV_8UC3,cv::Scalar(0));
{
//split channels
std::vector<cv::Mat> channels(3);
cv::split(image,channels);
//add rect to g channel
cv::Rect roi = cv::Rect(SIZE/3, SIZE/3, SIZE/3, SIZE/3);
cv::Mat green_roi = channels[1](roi);
green_roi.setTo(255);
//merge channels
cv::merge(channels,image);
}
//show image
cv::imshow("TEST",image);
cv::waitKey();
}