Конвертация Mat в вектор или массив в OpenCV

Рейтинг: 0Ответов: 0Опубликовано: 21.03.2023

Я новичок в OpenCV. Недавно у меня возникли проблемы с поиском функций OpenCV для преобразования из Mat в массив. Я нашел методы .ptr и .at, доступные в API OpenCV, но не получил ничего. Я хотел бы иметь прямое преобразование из Mat в массив или вектор. Пожалуйста,помогите.

#include "opencv2/opencv.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    cout << "Built with OpenCV " << CV_VERSION << endl;//версия OPENCV
    Mat image;
    Mat src;
    VideoCapture capture;
    capture.open(2);// открытие камеры
    capture >> src;
    bool isColor = (src.type() == CV_8UC3);
    VideoWriter writer;
    int codec = VideoWriter::fourcc('H', '2', '6', '4');
    double fps = 25.0;
    string filename = "live.avi";
    Size sizeFrame(1920,1080);
    writer.open(filename, codec, fps, sizeFrame, isColor);
    cout << "Started writing video... " << endl;
    for (int i = 0 ; i < 900 ; i ++)
    {
        capture >> image;
        Mat xframe;
        resize(image,xframe,sizeFrame);
        writer.write(xframe);
        // imshow("Sample", image);
        // char c = (char)waitKey(1);
        // if(c == 27) break;
    }
    cout << "Write complete !" << endl;
    capture.release();
    writer.release();
    return 0;
}

Ответы

Ответов пока нет.