Чем std :: vector данные отличаются от Mat.data - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь вывести изображение в оттенках серого из вектора в Mat. Я пробовал использовать memcpy, но не получаю правильного изображения, а вместо этого получаю это . Я также пробовал изменить тип изображения и sizeof на memcpy, но это не решило проблему.

может кто-нибудь объяснить мне, что я делаю не так? прошу прощения, если это была очень простая проблема

image = imread("pic.jpg", 0);
vector<int> array;
Mat after_image = Mat(image.rows, image.cols, 0);

for(int a = 0; a < image.rows; a++){
    for(int b = 0; b < image.cols; b++){
        array.push_back((int)image.at<uchar>(a, b));
    }
}
memcpy(after_image.data, array.data(), sizeof(array)*sizeof(int));
imshow("after",after_image);        
...