Home » U++ Library support » U++ Library : Other (not classified elsewhere) » tif image 16 bit. autolevel  
	
		
		
			| Re: tif image 16 bit. autolevel [message #32236 is a reply to message #32233] | 
			Mon, 02 May 2011 16:21    | 
		 
		
			| 
				
	 | 
 
	
		I thing this is what I look for: 
http://en.wikipedia.org/wiki/Histogram_equalisation 
I did a variant of autolevel, but I intend to modify by wikipedia specification. 
Image ImageAutolevel(const Image& img){
	uint64 histogram[256];
	for(int i=0;i<256;++i)
		histogram[i]=0;
	
	const RGBA *start = img;
	const RGBA *s = start;
	const RGBA *e = s + img.GetLength();
	while(s < e){
		histogram[(s->r+s->g+s->b)/3]++;
		s++;
	}
	int v_lower = -1;
	int v_upper = -1;
	
	for(int i=0;i<256&&(v_lower==-1||v_upper==-1);++i){
		if(v_lower==-1&&histogram[i]!=0)
			v_lower = i;
		if(v_upper==-1&&histogram[255-i]!=0)
			v_upper = 255-i;
	}
	
	// return if not sense to autolevel
	//if(v_lower==v_upper==-1)
	
	if(v_lower==-1)
		v_lower = 0;
	
	if(v_upper==-1)
		v_upper = 255;
	
	s = start;
	ImageBuffer w(img.GetSize());
	Unmultiply(w);
	RGBA *t = w;
	
	while(s < e) {
		t->r = s->r*255/v_upper;
		t->g = s->g*255/v_upper;
		t->b = s->b*255/v_upper;
		t->a = s->a;
		t++;
		s++;
	}
	Premultiply(w);
	w.SetHotSpots(img);
	return w;
}
 
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
  
 
	
	  | 
	 | 
	
		tif image 16 bit. autolevel
		By:  tojocky on Fri, 29 April 2011 08:54  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Fri, 29 April 2011 10:12  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Fri, 29 April 2011 11:28  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Fri, 29 April 2011 11:52  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Fri, 29 April 2011 11:35  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  mirek on Fri, 29 April 2011 20:13  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Sat, 30 April 2011 09:33  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Sat, 30 April 2011 18:07  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Sat, 30 April 2011 18:21  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Sun, 01 May 2011 15:50  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Mon, 02 May 2011 09:30  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Mon, 02 May 2011 10:17  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Mon, 02 May 2011 10:30  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Mon, 02 May 2011 12:03  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Mon, 02 May 2011 14:02  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Mon, 02 May 2011 16:21  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Mon, 02 May 2011 17:37  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Thu, 05 May 2011 20:10  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Thu, 05 May 2011 20:15  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  koldo on Thu, 05 May 2011 21:28  
	 | 
 
	  | 
	 | 
	
		Re: tif image 16 bit. autolevel
		By:  tojocky on Fri, 06 May 2011 13:25  
	 | 
  
Goto Forum:
 
 Current Time: Tue Nov 04 10:55:34 CET 2025 
 Total time taken to generate the page: 0.06060 seconds 
 |