예제 #1
0
파일: 104.cpp 프로젝트: mathetian/Coding
int multiply(int a,int b)
{
    int r=multiplyABS(abs(a),abs(b));
    if(getFlag(a)==getFlag(b))
        return r;
    return getNegative(r);
}
예제 #2
0
int main(int argc,char **argv){
	int width,height;
	int **pixel;
	int **out;
	float **tmp;
	pixel = readPNG(argv[1],&width,&height);
	
	writePNG("res_original.png",pixel,width,height);

	out = histEQ(pixel,width,height);
	writePNG("res_Equalized.png",out,width,height);
	FREE_PIXEL(out);

	out = getNegative(pixel,width,height);
	writePNG("res_Negative.png",out,width,height);
	FREE_PIXEL(out);

	out = halfIntensity(pixel,width,height);
	writePNG("res_HalfI.png",out,width,height);
	FREE_PIXEL(out);
	
	out = IRescale(pixel,width,height,min,max,0,100);
	writePNG("res_scaleto0100.png",out,width,height);
	FREE_PIXEL(out);

	out = IRescale(pixel,width,height,min,max,200,255);
	writePNG("res_scaleto200255.png",out,width,height);
	FREE_PIXEL(out);

	tmp = getExp(pixel,width,height,20,1.01);
	out = Normalize(tmp,width,height);
	writePNG("res_exp.png",out,width,height);
	FREE_PIXEL(out);

	tmp = getLog(pixel,width,height,20.2);
	out = Normalize(tmp,width,height);
	writePNG("res_log.png",out,width,height);
	FREE_PIXEL(out);
	
	tmp = getPower(pixel,width,height,1,0.5);
	out = Normalize(tmp,width,height);
	writePNG("res_powerg05.png",out,width,height);
	FREE_PIXEL(out);
	
	tmp = getPower(pixel,width,height,1,2);
	out = Normalize(tmp,width,height);
	writePNG("res_powerg2.png",out,width,height);
	FREE_PIXEL(out);

	tmp = getPower(pixel,width,height,1,2.5);
	out = Normalize(tmp,width,height);
	writePNG("res_powerg25.png",out,width,height);
	FREE_PIXEL(out);
	//printHist(out,width,height);

	free(pixel);
return 0;
}
예제 #3
0
파일: 104.cpp 프로젝트: mathetian/Coding
int divide(int a,int b)
{
    if(b==0)
        throw "error";
    int r=divideABS(abs(a),abs(b));
    if(getFlag(a)==getFlag(b))
        return r;
    return getNegative(r);
}
예제 #4
0
 IHqlExpression * getMaxRightBeforeLeft() { return getNegative(rhsDelta); }
예제 #5
0
 IHqlExpression * getMaxLeftBeforeRight() { return getNegative(lhsDelta); }
예제 #6
0
파일: 104.cpp 프로젝트: mathetian/Coding
int minus(int a,int b)
{
    return a+getNegative(b);
}