Пример #1
0
void sha1_init(size_t user_kpc)
{
	kpc = user_kpc;
	load_source();
	createDevice();
	createkernel();
	create_clobj();
}
Пример #2
0
/*----------------------------------------------------------------------------*/
int gauss_frame(my1IFrame *src, my1IFrame *dst, float sigma, float *over)
{
	my1Kernel kernel;
	/* computing MY 2D gaussian smoothing kernel */
	int loop = 0, loop2, index = 0;
	float temp = 1.0, corner;
	float mult, value;
	while(temp>THRESH)
	{
		temp = fgaussian2d(loop,loop,sigma);
		corner = temp;
		loop++;
	}
	value = 1.0/corner;

	int windowsize = (loop*2)-1;
	int count = windowsize/2;
	int length = windowsize*windowsize;
	float *pcoeff = (float*) malloc(length*sizeof(float));
	if(pcoeff==0x0)
		return -1;
	for(loop=0;loop<windowsize;loop++)
	{
		for(loop2=0;loop2<windowsize;loop2++)
		{
			if(over)
				mult = value * (int)fgaussian2d(loop-count, loop2-count, sigma);
			else
				mult = fgaussian2d(loop-count, loop2-count, sigma);
			pcoeff[index++] = mult;
		}
	}
	if(over) *over = value;

	if(createkernel(&kernel,windowsize)==0x0)
	{
		free(pcoeff);
		return -1;
	}
	setkernel(&kernel, pcoeff);
	kernel.orig_x = count;
	kernel.orig_y = count;
	free(pcoeff);

	correlate_frame(src, dst, &kernel);
	freekernel(&kernel);

	return 0;
}
Пример #3
0
/*----------------------------------------------------------------------------*/
int laplace_frame(my1IFrame *src, my1IFrame *dst)
{
	float coeff[] = { 0.0,-1.0,0.0, -1.0,4.0,-1.0, 0.0,-1.0,0.0 };
	my1Kernel kernel;

	if(createkernel(&kernel,3)==0x0)
		return -1;

	setkernel(&kernel,coeff);
	kernel.orig_x = 1;
	kernel.orig_y = 1;

	correlate_frame(src,dst,&kernel);
	freekernel(&kernel);

	return 0;
}