1
在這些日子裏,我正在使用ARToolKit,並且我面臨從靜態圖像創建AR標記的必要性。因此,正如在舊版ARToolKit的新聞通訊中所建議的那樣,我開始編寫自己的視頻功能,它應該在執行mk_patt.exe時替代標準的Win32DirectShow功能。我的視頻功能有後續的結構:從圖像創建AR標記
int arVideoOpen(char *config) {
return 0;
}
int arVideoClose(void){
return 0;
}
int arVideoDispOption(void){
return 0;
}
int arVideoInqSize(int *x, int *y){
*x = xsize;
*y = ysize;
}
ARUint8 *arVideoGetImage(void)
{
FILE *pFile;
unsigned long Size;
unsigned char *buffer;
size_t result;
pFile = fopen("hhgf.bmp","rb");
if(pFile==0){
printf("Error!\n");
}
else{
fseek(pFile, 0, SEEK_END);
Size = ftell(pFile);
printf("Size: %d \n",Size);
fseek(pFile, 0, SEEK_SET);
buffer = (unsigned char*) malloc (Size);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}
result = fread (buffer, Size,1, pFile);
if (result != Size) {fputs ("Reading error",stderr); }
return (ARUint8 *) buffer;
}
}
int arVideoCapStart(void){
return 0;
}
int arVideoCapStop(void) {
return 0;
}
int arVideoCapNext(void)
{
return 0;
}
焦點方法是arVideoGetImage,它應該返回我的圖像數據。我對C沒有太多的專業知識,所以我在網上找到了一些簡單的代碼,但是當我運行mk_patt.exe時,它崩潰了。 我需要一些關於如何編碼的幫助,或者如果這是達到我的目的的正確方法。