Example #1
0
int
vips__matrix_write( VipsImage *in, const char *filename )
{
	VipsImage *mask;
	FILE *fp;
	int x, y; 

	if( vips_check_matrix( "vips2mask", in, &mask ) )
		return( -1 );

	if( !(fp = vips__file_open_write( filename, TRUE )) ) {
		g_object_unref( mask ); 
		return( -1 );
	}
	fprintf( fp, "%d %d ", mask->Xsize, mask->Ysize ); 
	if( vips_image_get_typeof( mask, "scale" ) && 
		vips_image_get_typeof( mask, "offset" ) ) 
		fprintf( fp, "%g %g ", 
			vips_image_get_scale( mask ),
			vips_image_get_offset( mask ) );
	fprintf( fp, "\n" ); 

	for( y = 0; y < mask->Ysize; y++ ) { 
		for( x = 0; x < mask->Xsize; x++ ) 
			fprintf( fp, "%g ", *VIPS_MATRIX( mask, x, y ) ); 

		fprintf( fp, "\n" ); 
	}

	g_object_unref( mask ); 
	fclose( fp ); 

	return( 0 );
}
Example #2
0
File: csv.c Project: songfj/libvips
int
vips__matrix_write_file( VipsImage *in, FILE *fp )
{
    VipsImage *mask;
    int x, y;

    if( vips_check_matrix( "vips2mask", in, &mask ) )
        return( -1 );

    fprintf( fp, "%d %d ", mask->Xsize, mask->Ysize );
    if( vips_image_get_typeof( mask, "scale" ) &&
            vips_image_get_typeof( mask, "offset" ) )
        fprintf( fp, "%g %g ",
                 vips_image_get_scale( mask ),
                 vips_image_get_offset( mask ) );
    fprintf( fp, "\n" );

    for( y = 0; y < mask->Ysize; y++ ) {
        for( x = 0; x < mask->Xsize; x++ )
            fprintf( fp, "%g ", *VIPS_MATRIX( mask, x, y ) );

        fprintf( fp, "\n" );
    }

    g_object_unref( mask );

    return( 0 );
}