изменение значений цвета bgr картинки на opencv - PullRequest
0 голосов
/ 20 марта 2019

Моя функция ниже должна изменить цветовые значения исходного изображения, а затем, как только процесс будет завершен, он должен создать другое изображение с измененными цветами.

void change(const cv::Mat &first_image, cv::Mat &new_image, const std::vector<std::vector<int> > &colors)
{
    for (int i = 0; i < first_image.cols; i++) {
    for (int j = 0; j < first_image.rows; j++) {

 int blue = first_image.at<cv::Vec3b>(i,j)[0];
 new_image.at<cv::Vec3b>(i,j)[2]= colors [2][blue];

 int green = first_image.at<cv::Vec3b>(i,j)[1];

 new_image.at<cv::Vec3b>(i,j)[1]= colors [1][green];

 int red = first_image.at<cv::Vec3b>(i,j)[2];

 new_image.at<cv::Vec3b>(i,j)[0]= colors [0][red];
}
}
}

когда я использую команду make и запускаю весь код, я получаю ошибку сегментации. Я использую эту команду для запуска кода

../../build/mv/task/mvtask1d pic.json

Может кто-нибудь сказать мне, что я могу делать неправильно?

Заранее спасибо

...