亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? omlib.cpp

?? 圖像處理軟件,功能比較基礎
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	a22 = cos(theta);
	a21 =(-sin(theta));

	if(dir == NOCLOCKWISE)
	{
		a12 *= -1;
		a21 *= -1;
	}
	for( int i=0 ; i<dr; i++)
	for( int j=0 ; j<dc; j++)
	{
		int m = int ( a11*(j - x0) + a12*(i - y0) );  // x
		int n = int ( a21*(j - x0) + a22*(i - y0) );  // y
		int x = int ( m + sx0 ) ;
		int y = int ( n + sy0 );

		if( x>=0 && x<sc && y>=0 && y<sr )
			des[i][j] = src[y][x];
		else
			des[i][j] = nBackgrd;
	}
	*/
	// Rotate matrix
	BYTE **src;
	src=input.p;
	int sr,sc;
	sr=input.row;
	sc=input.col;
	double a11, a12, a21, a22,theta;
	theta=(corner/180.0*PI);
	a11 =cos(theta);
	a12 = sin(theta);
	a22 = cos(theta);
	a21 =(-sin(theta));

	if(dir == NOCLOCKWISE)
	{
		a12 *= -1;
		a21 *= -1;
	}

	double sx0 = sc / 2;
	double sy0 = sr / 2;
	double rad = sqrt(sx0*sx0+sy0*sy0);
	double alpha0 = atan( sr /(double) sc );
	double alphaY =( alpha0 + theta);
	double alphaX = alpha0 - theta;

	dr = (int) abs(2*rad*sin(alphaY) + 1);
	dc = (int) abs(2*rad*cos(alphaX) + 1);
	double x0 = dc/2.0;
	double y0 = dr/2.0;

	BYTE ** des =fspace_2d(dr,dc);

	for( int i=0 ; i<dr; i++)
	for( int j=0 ; j<dc; j++)
	{
		int m = int ( a11*(j - x0) + a12*(i - y0) );  // x
		int n = int ( a21*(j - x0) + a22*(i - y0) );  // y
		int x = int ( m + sx0 ) ;
		int y = int ( n + sy0 );

		if( x>=0 && x<sc && y>=0 && y<sr )
			des[i][j] = src[y][x];
		else
			des[i][j] = nBackgrd;
	}

	return des ;	
}

//===========LOG======
BOOL Log(int m_log_k,double m_log_sigma,Picture input,Picture output)
{
	int i,j,k;
	int row=input.row;//圖象row
	int col=input.col;//圖象col
	BYTE **m_gray;
	m_gray=input.p;	
		// TODO: Add your command handler code here		
    int m_half=(int)(3*sqrt(2)*m_log_sigma+0.5);
    int* m_ha=new int[m_half];
    int* m_hb=new int[m_half];
    float fun;
    float fun2;
    for( i=0;i<m_half;i++)
    {
	   fun=float(i*i);
	   fun2=fun;
	   fun=(float)((1-fun/(m_log_sigma*m_log_sigma))*exp(-fun/(2*m_log_sigma*m_log_sigma)));
       m_ha[i]=(int)(fun*sqrt(m_log_k));
	   fun2=(float)exp(-fun2/m_log_sigma);
	   m_hb[i]=(int)(sqrt(m_log_k)*fun2);
	}
    long** m_logsa;
    m_logsa=new long *[row];
    for(i=0; i<row;i++)
	      m_logsa[i] = new long[col];
	for(i=0;i<row;i++)
    	for(j=0;j<col;j++)
		{
 		m_logsa[i][j]=0;
		}
	long**m_logsb;
    m_logsb=new long *[row]; 
    for ( i =0;i<row;i++)
		m_logsb[i]=new long[col];
	for(i=0;i<row;i++)
    	for(j=0;j<col;j++)
		{
 		m_logsb[i][j]=0;
		}

    int *m_rowline =new int[col+2*m_half];
	int *m_colline =new int[row+2*m_half];
    for(i=0;i<m_half;i++)
	{
   	   m_rowline[i]=0;m_rowline[col+m_half+i]=0;
	   m_colline[i]=0;m_colline[row+m_half+i]=0;
	}
    long sum;
    for(i=0;i<row;i++)
	{
      for(k=m_half;k<m_half+col;k++)
	  {
		m_rowline[k]=m_gray[i][k-m_half];
	  }

      for(j=0;j<col;j++)
	  {
         sum=m_ha[0]*m_rowline[j+m_half];
         for(k=1;k<m_half;k++)
		 {
    	   sum=sum+m_ha[k]*(m_rowline[j+m_half-k]+m_rowline[j+m_half+k]);
		 }
         m_logsa[i][j]=(int)sum;
	  }//end for(j);
	}//end for(i)

    for(j=0;j<col;j++)
	 {
       for(k=m_half;k<m_half+row;k++) 
	   {
		 m_colline[k]=m_logsa[k-m_half][j];
	   }
       for(i=0;i<row;i++)
	   {
   	     sum=m_hb[0]*m_colline[i+m_half];
	     for(k=1;k<m_half;k++)
   	        sum=sum+m_hb[k]*(m_colline[i+m_half+k]+m_colline[i+m_half-k]);
	   
   	     m_logsb[i][j]=(int)sum;
	   }//end for(i)
	 }//end for(j);



////second translation
    for(i=0;i<m_half;i++)
	{
   	   m_rowline[i]=0;m_rowline[col+m_half+i]=0;
	   m_colline[i]=0;m_colline[row+m_half+i]=0;
	}//end for
   for(i=0;i<row;i++)
	{
      for(k=m_half;k<m_half+col;k++) 
	  {
		  m_rowline[k]=m_gray[i][k-m_half];
	  }
      for(j=0;j<col;j++)
      {
    	sum=m_hb[0]*m_rowline[j+m_half];
	    for(k=1;k<m_half;k++)
		{
    	  sum=sum+m_hb[k]*(m_rowline[j+m_half-k]+m_rowline[j+m_half+k]);
		}
   	    m_logsa[i][j]=(int)sum;
      }//end for(j);
	}
    for(j=0;j<col;j++)
	{
     for(k=m_half;k<m_half+row;k++) 
	 {
		 m_colline[k]=m_logsa[k-m_half][j];
	 }
     for(i=0;i<row;i++)
     {
   	    sum=m_ha[0]*m_colline[i+m_half];
	    for(k=1;k<m_half;k++)
		{
   	     sum=sum+m_ha[k]*(m_colline[i+m_half+k]+m_colline[i+m_half-k]);
		}
   	    m_logsb[i][j]=sum+m_logsb[i][j];
     }//end for(i)
	}//end for(j);

    for(i=1;i<row-1;i++)
		for(j=1;j<col-1;j++)
		{
            //m_gray[i][j]=0;
			if(m_logsb[i][j-1]<0&&m_logsb[i][j]>0)
			{
              output.p[i][j]=255;
			}
            if(m_logsb[i][j-1]>0&&m_logsb[i][j]<0)
			{
                output.p[i][j]=255;
			}
            if(m_logsb[i-1][j]<0&&m_logsb[i][j]>0)
			{
              output.p[i][j]=255;
			}
            if(m_logsb[i-1][j]>0&&m_logsb[i][j]<0)
			{
              output.p[i][j]=255;
			}
		}

		//處理后的結果
    delete m_ha;
    delete m_hb;
    delete m_rowline;
    delete m_colline;
    for(i=0;i<row;i++) 
	  delete[] m_logsa[i];
    for(i=0;i<row;i++) 
	  delete[] m_logsb[i];
	return TRUE;
}




BOOL Extraction8(CString InputFileName,CString OutputFileName)
{
	Picture input;
	BYTE** temp;
//	int tempx;
	input.p=InputImageWithName(InputFileName,input.row ,input.col );
	if (input.p==NULL)
		return FALSE;
	temp=fspace_2d(input.row,input.col);
	if (temp==NULL)
		return FALSE;
	for (int k=0;k<5;k++)
	{		
		for(int i=0;i<input.row;i++)
			for(int j=0;j<input.col;j++)
			{
				temp[i][j]=input.p[i][j]&127;//(31<<k);
				if(temp[i][j]!=0)
					temp[i][j]=255;				
			}				
			::OutputImageWithName(temp,input.row,input.col,OutputFileName);
			ChangeNameExtension(OutputFileName);
	}
	dspace_2d(temp,input.row,input.col);
	return TRUE;
}



int ChangeNameExtension(const char *s1)
{
	int  i,j;
	char *ExtendedName;
	int length;	
	length=strlen(s1);	
	if ((ExtendedName=strchr(s1,'.'))==NULL)
	{		
		return -1;		
	}
	ExtendedName++;	
	if (*ExtendedName>'9' || *ExtendedName<'0')
		return -1;

	for (i=s1+length-ExtendedName-1;i>=0;i--)
	{
		if (*(ExtendedName+i)<'9')
		{
			(*(ExtendedName+i))++;
			j=i+1;
			while (j<s1+length-ExtendedName)
			{
				(*(ExtendedName+j))='0';
				j++;
			}
		
			return 1;
		}
	}
	return 0;
}

int ChangeNameExtension1(const char *s1)
{
	int  i,j;
	char temp[5];
	int length=strlen(s1);
	for(i=0;i<4;i++)
	{
		temp[i]=*(s1+length-8+i);
	}	
	temp[4]='\0';
	for (i=3;i>=0;i--)
	{
		if (*(temp+i)<'9')
		{
			(*(temp+i))++;
			j=i+1;
			while (j<4)
			{
				(*(temp+j))='0';
				j++;
			}		
			strncpy( (char *)s1+length-8,temp, 4 );
			return 1;
		}
	}
	
	return 0;
}


int ChangeFloatName(const char *s1)
{
	int i,j,k;
	char *temp=NULL;
	int length=strlen(s1);
	temp=(char *)(s1+length-4);	
	for (i=3;i>=0;i--)
	{
		if (*(temp+i)<'9')
		{
			(*(temp+i))++;
			j=i+1;
			while (j<4)
			{
				(*(temp+j))='0';
				j++;
			}	
			return 1;
		}
	}
	
	return 0;
}












































BOOL rradon(unsigned char **pic,int *row,int *col,int *outpic)
{
	/*
	for (int i=0;i<*col;i++)
		for (int j=0;j<*row;j++)
		{		
			outpic[i]=outpic[i]+pic[j][i];
		}
		return TRUE;
	*/
	int num=0;
	for (int i=0;i<*col;i++)
	{
		num=0;
   		for (int j=0;j<*row;j++)
		{
			if (pic[j][i]==0)
			{
				outpic[i]++;
			}			
		//	if(pic[j][i]!=100)
			{
		//		num++;
			}
		}
		
		
	//	if(num==0)		
	//		outpic[i]=0;
	//	else
	//		outpic[i]=(int)(outpic[i]*100/(float)num);		
			
	}
	return TRUE;	
	

}
int **RRadon(Picture input,int *step0,int &cornernum,int &rhoMax)
{
	unsigned char **pic;
	int row,col;
	float step;
	pic=input.p;
	row=input.row;
	col=input.col;
	step=float(1.0/(float)(*step0));
	
	int Xb,Yb,Ix,Iy;
	float *x,*y,*theta_sin,*theta_cos;
	int **temp;
	unsigned char **temppic;
	static count=0;	
	
	
	rhoMax=(int)(sqrt((col)*(col)+(row)*(row)));
	temppic=fspace_2d(rhoMax,rhoMax);

	x=new float [rhoMax];
	y=new float [rhoMax];
	
	for(int i=0; i<row; i++)
		x[i] = (float)(i-(col)/2.0);
	for(i=0; i<col; i++)
		y[i] = (float)(i-(row)/2.0);
	cornernum=(int)(180/(step));
	theta_sin =new float [cornernum];
	theta_cos =new float [cornernum];
	for (i=0;i<cornernum;i++)
		theta_sin[i]=(float)sin(((float)i)*PI/((float)cornernum));
	for (i=0;i<cornernum;i++)
		theta_cos[i]=(float)cos(((float)i)*PI/((float)cornernum));
	
	

	temp=new int *[cornernum];
	for (i=0;i<cornernum;i++)
	{
		temp[i]=new int [rhoMax];	
	}



	for (i=0;i<cornernum;i++)
		for (int j=0;j<rhoMax;j++)
			temp[i][j]=0;
	
	for (i=0;i<rhoMax;i++)
		for (int j=0;j<rhoMax;j++)
			temppic[i][j]=100;	
	
	
	for (int k=0;k<cornernum;k++)
	{	
		for (i=0;i<col;i++)
		{
			for (int j=0;j<row;j++)
			{
				Xb=(int)(x[i]*(theta_cos[k])-y[j]*(theta_sin[k]));//xb對應著col
				Yb=(int)(-x[i]*(theta_sin[k])-y[j]*(theta_cos[k]));//yb對應著row
				Ix=Xb+(int)(rhoMax/2.0);
				Iy=Yb+(int)(rhoMax/2.0);
				if(rhoMax-Iy-1<rhoMax&&Ix<rhoMax&&rhoMax-Iy-1>=0&&Ix>=0)
				temppic[rhoMax-Iy-1][Ix]=pic[j][i];				
			}							
		}
		rradon(temppic,&rhoMax,&rhoMax,temp[k]);
	}
	//=========================================
	//===========釋放空間===========
		delete [] x;
		delete [] y;
		delete [] theta_sin;
		delete [] theta_cos;		
		dspace_2d(temppic,rhoMax,rhoMax);
		int nnn=0;
		for (i=0;i<cornernum;i++)
			for (int j=0;j<rhoMax;j++)
			{
				if (temp[i][j]>70)
					nnn++;
			}

			return temp;	
}






void HOF(unsigned char **OrigImg, unsigned char **SmoothImg, int Row, int Col)
{
	const int grayLevel=256; 

    int i,j;    
	int k,m;    

	int n=1;    /*平滑窗口尺寸*/

	int x=0;    /*記錄迭代次數*/
	int s;      /*記錄和值的臨時變量*/

	int h0;     /*記錄中心區域的均勻性*/
	int h1;     /*記錄左上區域的均勻性*/
	int h2;     /*記錄右上區域的均勻性*/
	int h3;     /*記錄左下區域的均勻性*/
	int h4;     /*記錄右下區域的均勻性*/

	int imageWidth;  /*波門尺寸*/
    int imageHeight;

	int a;  /*標記循環是否結束?a=1時迭代結束*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女网站色91| 亚洲综合视频网| 国产精品夜夜嗨| 91麻豆精品国产自产在线 | 91麻豆精品91久久久久久清纯| 一区av在线播放| 欧美日韩精品专区| 水野朝阳av一区二区三区| 欧美精品久久一区| 捆绑调教美女网站视频一区| 久久久不卡影院| 99久久免费国产| 亚洲一区二区三区四区不卡| 欧美一卡在线观看| 高清beeg欧美| 亚洲国产中文字幕在线视频综合| 欧美一区二区日韩一区二区| 久久不见久久见中文字幕免费| 日本一区二区三区电影| 色菇凉天天综合网| 精品一区二区三区免费播放| 中文字幕一区二区三区av| 欧美日韩一级片网站| 国产伦理精品不卡| 一区二区三区四区蜜桃| 日韩免费电影一区| av动漫一区二区| 日韩影院免费视频| 中文字幕一区av| 精品国产区一区| 在线亚洲一区二区| 成人一区二区三区视频在线观看| 亚洲国产色一区| 欧美国产精品久久| 91精品国产综合久久小美女| av一区二区三区在线| 免费成人av资源网| 亚洲色图都市小说| 日韩精品一区二区三区中文精品| av亚洲精华国产精华精华| 美女www一区二区| 亚洲欧美二区三区| 欧美韩国日本综合| 欧美电视剧在线看免费| 99re这里只有精品首页| 久久国产精品区| 亚洲一级不卡视频| 中文字幕日韩精品一区| 26uuuu精品一区二区| 欧美人妇做爰xxxⅹ性高电影 | 奇米一区二区三区| 最近日韩中文字幕| 国产欧美日韩在线| 日韩久久免费av| 欧美一区二区网站| 欧美日韩美少妇| 欧美亚洲动漫制服丝袜| 不卡的电影网站| 国产成人免费av在线| 毛片一区二区三区| 日本最新不卡在线| 三级一区在线视频先锋| 久久精品国产99久久6| 亚洲一区二区偷拍精品| 亚洲另类在线一区| 国产精品国产馆在线真实露脸| 精品国产一区a| 欧美成人欧美edvon| 56国语精品自产拍在线观看| 欧美日韩一区二区在线观看视频| 在线影院国内精品| 欧美视频自拍偷拍| 欧美日高清视频| 精品视频1区2区| 欧美日韩黄色一区二区| 在线观看免费成人| 色狠狠色狠狠综合| 欧美亚洲国产bt| 欧美精品日韩精品| 日韩欧美一区二区三区在线| 日韩一区二区在线观看视频 | 日本高清视频一区二区| 99re热视频这里只精品| 色哟哟精品一区| 91久久免费观看| 欧美少妇一区二区| 欧美α欧美αv大片| wwwwxxxxx欧美| 国产精品全国免费观看高清| 中文字幕在线一区免费| 亚洲精品欧美综合四区| 亚洲成在线观看| 麻豆精品视频在线观看免费 | 99国产精品久久久| 在线观看日韩国产| 日韩欧美激情在线| 国产欧美精品区一区二区三区 | 99精品国产热久久91蜜凸| 色婷婷精品大视频在线蜜桃视频| 欧美性xxxxxx少妇| 日韩欧美一区二区三区在线| 国产欧美综合在线观看第十页| 亚洲婷婷国产精品电影人久久| 一区二区三区精品视频| 蜜臀av一区二区在线免费观看| 国产一区二区三区美女| 日本道精品一区二区三区| 欧美一级二级在线观看| 国产欧美一区二区在线观看| 亚洲美女电影在线| 久久成人久久鬼色| 色综合一区二区| 精品粉嫩aⅴ一区二区三区四区 | 亚洲欧美日韩综合aⅴ视频| 亚洲va天堂va国产va久| 国产精品一区2区| 欧美日韩国产首页在线观看| 国产婷婷色一区二区三区四区 | 国产精品乱子久久久久| 亚洲一线二线三线视频| 国产露脸91国语对白| 欧美综合久久久| 欧美精品一区二区在线观看| 亚洲自拍偷拍图区| 高清av一区二区| 日韩欧美你懂的| 亚洲精品久久7777| 国产成人在线观看免费网站| 欧美丰满少妇xxxxx高潮对白| 国产欧美1区2区3区| 午夜精品久久久久久久99樱桃| 国产白丝精品91爽爽久久| 91精品麻豆日日躁夜夜躁| 亚洲免费电影在线| 成人午夜视频网站| 欧美成人官网二区| 天堂久久一区二区三区| 91视频免费看| 国产欧美日韩视频在线观看| 日韩国产欧美三级| 欧美在线免费视屏| 国产精品久久久一本精品| 蜜臀av亚洲一区中文字幕| 欧美三级中文字幕在线观看| 1024亚洲合集| 国产69精品久久久久777| 精品裸体舞一区二区三区| 天使萌一区二区三区免费观看| av动漫一区二区| 中文字幕一区二区三区色视频| 国产在线播放一区| 欧美成va人片在线观看| 日韩精品五月天| 7777精品久久久大香线蕉 | 91.com视频| 亚洲成人av资源| 91久久精品网| 亚洲免费观看高清完整| 97久久超碰国产精品电影| 国产女同互慰高潮91漫画| 国产成人综合视频| 国产亚洲欧美一区在线观看| 国产精品综合久久| 久久久国产一区二区三区四区小说 | 狠狠狠色丁香婷婷综合激情| 欧美日韩国产一级| 日本美女一区二区三区| 3d动漫精品啪啪1区2区免费| 日日夜夜精品免费视频| 欧美精品xxxxbbbb| 免费在线观看精品| 欧美一区日本一区韩国一区| 国产成人精品免费视频网站| 26uuu精品一区二区在线观看| 国产美女精品在线| 欧美经典一区二区三区| 成人深夜在线观看| 国产精品国产三级国产| 色噜噜狠狠色综合欧洲selulu | 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一卡在线观看| 国产一区91精品张津瑜| 亚洲国产精品精华液2区45| 91片在线免费观看| 亚洲妇女屁股眼交7| 精品国精品国产| 不卡的av电影| 亚洲一区av在线| 欧美成人猛片aaaaaaa| 豆国产96在线|亚洲| 亚洲制服丝袜在线| 欧美一级日韩一级| 国产成人福利片| 一区二区三区四区激情| 91精品国产品国语在线不卡| 国产一区二区视频在线播放| 亚洲人成影院在线观看| 欧美一区二区三区在线视频| 国产精品资源站在线| 亚洲亚洲人成综合网络|