Example #1
0
File: sift.cpp Project: hone/school
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;
}
Example #2
0
int
main(int argc, char **argv)
{
	getargs(argc, argv);
	readkeys(argc, argv);
	memalloc();
	map();
	assign();
	verify();
	emit();

	return 0;
}
Example #3
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;
}
Example #4
0
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();
        }
    }
}