Я пытаюсь обновить часть мата на основе другого мата. Например, я хочу выбрать часть img
, которая не равна нулю в mask
, и добавить к ней постоянное значение. Когда я пытаюсь это сделать:
Mat mask = imread("some grayscale image with a white area in a black background", IMREAD_GRAYSCALE);
Mat img = Mat::zeros(mask.rows, mask.cols, CV_8UC1);
Mat bnry, locations;
threshold(mask, bnry, 100, 255, THRESH_BINARY);
findNonZero(bnry, locations);
img(locations) += 5;
Я получаю эту ошибку:
Ошибка: утверждение не удалось ((int) range.size () == d)
img
и mask
имеют одинаковый размер.
Как выбрать область изображения на основе другого изображения (маски)?