writer хорошо работает, проверял, только у него видимо есть ограничения на размерность изображения.. на вскидку: 1300x500 не захочет писать, может быть это связано с кодеками, я использовал mjpg.
"Натравливал" указатель данных CvMat (data.ptr) ImageData

Все вроде бы хорошо..
Код:
ofstream out("out.txt",ios::out);
IplImage* im = cvCreateImage(cvSize(5,5),8,1);
cvSet(im,cvScalarAll(3));
CvMat* mat = cvCreateMatHeader(5,5,CV_8UC1);
mat->data.ptr = (uchar*)im->imageData;
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
out << cvGetReal2D(mat,i,j) << " ";
}
out << endl;
}
out.close();
..но если вывести на экран CvMat матрицу то:
3 3 3 3 3
240 173 186 3 3
3 3 3 240 173
186 3 3 3 3
3 240 173 186 3если же:
Код:
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
out << (int)mat->data.ptr[i*im->widthStep + j] << " "; // !!!!!!!!!!!!
}
out << endl;
}
тогда все номально
3 3 3 3 3
3 3 3 3 3
3 3 3 3 3
3 3 3 3 3
3 3 3 3 3Цитата:
нужно инициализировать заголовок изображения схожим с cvmat образом.
инициализировать с тем же размером? или как по другому?
Код:
IplImage* im = cvCreateImageHeader(size,8,3);
IplImage* im = cvGetImage(image,im);
с горяча залепил
