Я реализую алгоритм обработки изображений в C ++ с использованием openCV, в котором на 1-м шаге требуется преобразовать изображение в матрицу. Я знаю, что когда изображение загружается в openCV, оно уже сохраняется в виде матрицы. Используемое изображение имеет размер 80 x 60, поэтому я предполагаю, что матрица, в которой оно хранится, имеет размер 80 x 60. Однако я хотел бы сначала увидеть эту матрицу, а затем изменить ее форму. это в матрицу с тем же нет. пикселей, но как один длинный столбец вместо. то есть матрица 80 х 60 теперь стала бы матрицей 4800 х 1. Я пытался исследовать учебники и онлайн, но безрезультатно. Это мой код до сих пор. В любом случае, это не работает, потому что я не могу конвертировать из 'IplImage *' в 'CvMat *, но как еще я должен назначить свои значения пикселей для матрицы после ее создания? Пожалуйста, я был бы очень признателен, если бы кто-нибудь помог мне с этим кодом.
#include "cv.h"
#include "highgui.h"
#include "iostream"
using namespace std;
int main( int argc, char* argv ) {
IplImage* img0 = NULL;
CvMat* img0_mat = NULL ;
img0 = cvLoadImage("C:\\new\\walk mii.jpg");
if (!img0){
return -1;}
img0_mat = cvCreateMat(80, 60, 1);
img0_mat = img0;
cout <<" matrix " << img0 << endl;
cvWaitKey(0);
return 0;
}