Измените V HSV определенного места на изображении с помощью OpenCV и переполнения стека

Я новичок в OpenCV и использую его для изменения яркости изображения.
На моем изображении, здесь: https://docs.google.com/file/d/0B9LaMgEERnMxQUNKbndBODJ5TXM/edit, есть большое пространство, отражающее свет атмосферы только в одной его части. Сначала я мог изменить всю яркость на изображении. Теперь я пытаюсь уменьшить это пространство, что означает, что в определенном месте изображения, используя V HSV, вот код для этого:
введите код сюда

    Mat newImg;
cvtColor(img, newImg, CV_BGR2HSV);

imwrite("C:/Users/amanda.brito/Desktop/test.jpg", newImg);

vector<Mat> hsv_planes;
split(newImg, hsv_planes); //geting the color plans of image
int param = -70; // the value that I'm seting for V
for (int y = 0; y < newImg.rows; y++) {
for (int x = 0; x < newImg.cols; x++) {

Vec3b pixel = hsv_planes[2].at<Vec3b>(y, x);
pixel[0] = 0;
pixel[1] = 0;
pixel[2] = param;

hsv_planes[2].at<Vec3b>(y, x) = pixel;

}
}

merge(hsv_planes, newImg);
Mat imagem;
cvtColor(newImg, imagem, CV_HSV2BGR);

imwrite("C:/Users/amanda.brito/Desktop/final.jpg", imagem);

Ну, с этим или ничего не происходит, или компилятор останавливает программу.
Я уже посмотрел везде, но без удачи. Что я делаю неправильно?

С тех пор спасибо за вашу помощь.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]