int main( int argc, char * argv[] ) { const char * WINDOW_NAME = "Appended Images"; if( argc <= NUM_OF_ARGS ) { std::cerr << "Need " << NUM_OF_ARGS << " args. sift <image1> <image1_key> <image2> <image2_key>"; exit( -1 ); } ImageRAII image1( argv[1] ); ImageRAII image2( argv[3] ); std::pair< CvMat *, CvMat * > tmp1; std::pair< CvMat *, CvMat * > tmp2; std::pair< MatrixRAII, MatrixRAII > image1_keys; std::pair< MatrixRAII, MatrixRAII > image2_keys; tmp1 = readkeys( argv[2] ); image1_keys.first.matrix = tmp1.first; image1_keys.second.matrix = tmp1.second; tmp2 = readkeys( argv[4] ); image2_keys.first.matrix = tmp2.first; image2_keys.second.matrix = tmp2.second; ImageRAII appended_images = match( image1.image, image2.image, tmp1, tmp2 ); cvNamedWindow( WINDOW_NAME ); cvShowImage( WINDOW_NAME, appended_images.image ); cvWaitKey( 0 ); return 0; }
int main(int argc, char **argv) { getargs(argc, argv); readkeys(argc, argv); memalloc(); map(); assign(); verify(); emit(); return 0; }
Keys * keynew(int fd) { Keys *kp; char *map; struct stat st; size_t mapsz, pagesz; if (fstat(fd, &st) < 0) { perror("keynew:fstat"); return 0; } pagesz = getpagesize(); mapsz = st.st_size + 2 * sizeof(unsigned long); mapsz = (mapsz + pagesz-1) & ~(pagesz-1); map = mmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, fd, 0); if ((long)map == -1) { perror("keynew:mmap"); return 0; } kp = xmalloc(sizeof *kp); kp->minchar = KEYMAXCHAR; kp->maxchar = 0; kp->minlen = INT_MAX; kp->maxlen = 0; kp->numkeys = 0; kp->keys = map; kp->mapsz = mapsz; if (st.st_size > 0) readkeys(kp); return kp; }
static void handle_keys() { #ifdef JOYSTICK_NUM uint8_t joy = joystick(JOYSTICK_NUM); #else uint8_t joy = readkeys(); #endif if ( joy & MOVE_LEFT ) { if ( cx > 0 ) { --cx; moved(); } } else if ( joy & MOVE_RIGHT ) { if ( cx < ARENA_W - 1 ) { ++cx; moved(); } } else if ( joy & MOVE_DOWN ) { if ( cy < ARENA_H - 1 ) { ++cy; moved(); } } else if ( joy & MOVE_UP ) { if ( cy > 0 ) { --cy; moved(); } } else if ( joy & MOVE_FIRE ) { if ( selected > 1 ) { score += (selected -2 ) * (selected -2); crunchy(); crunchx(); moved(); checkover(); } } }