int imProcessHoughLinesDraw(const imImage* src_image, const imImage *hough, const imImage *hough_points, imImage *dst_image) { int theta, line_count = 0; if (src_image != dst_image) imImageCopyData(src_image, dst_image); listnode* maxima = findMaxima(hough_points, &line_count, hough); ReplaceColor(dst_image); costab = (double*)malloc(180*sizeof(double)); sintab = (double*)malloc(180*sizeof(double)); for (theta=0; theta < 180; theta++) { double th = (M_PI*theta)/180.; costab[theta] = cos(th); sintab[theta] = sin(th); } DrawPoints(dst_image, maxima); free(costab); costab = NULL; free(sintab); sintab = NULL; return line_count; }
int imProcessRenderAddUniformNoise(const imImage* src_image, imImage* dst_image, float mean, float stddev) { float param[2]; param[0] = mean; param[1] = stddev; srand((unsigned)time(NULL)); imImageCopyData(src_image, dst_image); return imProcessRenderOp(dst_image, do_add_uniformnoise, "Add Uniform Noise", param, 1); }
int imProcessRenderAddSpeckleNoise(const imImage* src_image, imImage* dst_image, float percent) { float param[2]; param[0] = (float)imColorMax(src_image->data_type); param[1] = percent / 100.0f; srand((unsigned)time(NULL)); imImageCopyData(src_image, dst_image); return imProcessRenderCondOp(dst_image, do_add_specklenoise, "Add Speckle Noise", param); }
/*****************************************************************************\ image:CopyData() \*****************************************************************************/ static int imluaImageCopyData (lua_State *L) { imImage* src_image = imlua_checkimage(L, 1); imImage* dst_image = imlua_checkimage(L, 2); imlua_match(L, src_image, dst_image); imImageCopyData(src_image, dst_image); return 0; }