Я новичок в программировании OpenCV, используя VS2010
и хотел бы скопировать файл изображения с того места, где он находится
созданный программой в другой каталог. Вот ситуация:
Программа, которую я взял, имеет следующий фрагмент:
IplImage * I = cvQueryFrame( camera );
char * outFileName = new char[ 50 ];
strcpy( outFileName, "Image.bmp" );
if( !cvSaveImage( outFileName, I ) )
printf( "Could not save: %s\n", outFileName );
Теперь я хотел бы дублировать это изображение в другой каталог. Итак, я написал:
FILE * outFileName;
FILE * duplImage;
int i = 0;
outFileName = fopen( "Image.bmp", "r" );
inFileName = fopen( duplImage, "w" );
while (???)
{
???;
i++;
}
fclose( outFileName );
fclose( inFileName );
Что мне делать в ??? биты?
Есть ли команда OpenCV, которая копирует C://blahblah/Image.bmp
на D://blahblah/duplImage.bmp
?
Спасибо,
Вы можете использовать функцию cvLoadImage для чтения изображения из файла в память, а затем использовать cvSaveImage для записи изображения в другой файл. Но если вы используете C++, лучше использовать imread и imwrite. См. "Загрузка, изменение и сохранение изображения" в учебнике OpenCV.
Если вы хотите только скопировать файл с изображением, вы можете использовать специальную функцию OS (CopyFile для ОС Windows) или повысить файловую систему :: copy_file().