vector :: _ M_range_check: __n (1886417008)> = this-> size () (256) - PullRequest
0 голосов
/ 06 апреля 2020

Эта функция помогает визуализировать каналы Y, U и V входного изображения. input_image - это входное изображение YUV, u_colormap - карта для визуализации канала u, а v_colormap - карта для визуализации канала v.

Я использую карту цветов в качестве таблицы поиска, а затем я сохраню новое значение из карты цветов в массиве каналов, а затем назначу значение для output_image.

Когда я компилирую код, я не получаю никаких ошибок, однако при запуске код я получаю сообщение об ошибке

vector :: _ M_range_check: __n (1886417008)> = this-> size () (256)

У кого-нибудь есть идея, где ошибка может быть?

void show::display_channels(const Mat &:input_image, const std::vector<std::vector<int> > u_colormap,
                                            const std::vector<std::vector<int> > v_colormap,
                                            std::vector<Mat> &output_image) {

    Mat channel[3]; 
    cv::split(input_image,channel); 
    cv::cvtColor(channel[0],output_image[0], CV_GRAY2BGR);
    //Y is already grayscale and I can convert it to BGR without using colormaps                            

    for (int i = 0; i < output_image.rows; i++) {
        for (int j = 0; j < output_image.cols; j++) {
            output_image[1].at<int>(i,j) = u_colormap.at(1).at(channel[1].at<int>(i,j));
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...