grayscale.cpp

来自「基于小波的图像配准」· C++ 代码 · 共 35 行

CPP
35
字号
/* This procedure is for adjusting the value into 0-255
   source: duble array
   target: char array   
*/

#include "grayscale.h"

void grayscale(long xlen,long ylen,double* source,unsigned char* target)
{
	
	double max_v=source[0];
	double min_v=source[0],temp;
	long t=xlen*ylen;
	long i;
	for(i=0;i<t;i++)
	{
        if(max_v<source[i]) max_v=source[i];
		if (min_v>source[i]) min_v=source[i];
	}
	
  
		double l;
		l=max_v-min_v;
		
	    double grain=255/l;
		
		double offset=-(min_v*grain);
		
		for(i=0;i<t;i++)
		{
		    temp=grain*source[i]+offset;
			target[i]=(unsigned char)temp;
			//target[i]=(unsigned char)source[i]/2;
		}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?