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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? console_lib.cpp

?? algorithm to resize an image
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		bmpsaver.save("y.bmp",img2);						
				
		

			
		
//		free(inDataDev);
//		free(idsDataDev);
		
/*

  
  ///////////    TESTING  //////////////////////////
  minerror=100.0;
  

scalingFactor=bestfact;
KNearNeighbor=bestK;
//    for( scalingFactor=minScale;scalingFactor<=maxScale && scalingFactor>0;scalingFactor+=1)
		  // for( scalingFactor=minScale;scalingFactor<=maxScale && scalingFactor>0;scalingFactor+=1)
		  
		{

			

		lti::point fact=lti::point(scalingFactor,scalingFactor);

		// a gaussian kernel to use before the downsampling
		lti::gaussKernel2D <lti::channel::value_type> gkernel(scalingFactor,scalingFactor*10);

		 param.setKernel(gkernel);  // use the gaussian kernel
		 param.factor=fact;
   
		 downsampler.setParameters(param);  // use the given parameters
		 const int step=scalingFactor;
		 
		 int xDim= (330%scalingFactor==0?330/scalingFactor:330/scalingFactor+1);
		int yDim= (110%scalingFactor==0?110/scalingFactor:110/scalingFactor+1);
		const int featureNum=xDim*yDim;
		
		double *inDataTrain=new double[(endTrain-beginTrain+1)*30*(xDim*yDim)];
		
		int *idsDataTrain=new int[(endTrain-beginTrain+1)*30]; // and the respective ids

		double *inDataTest =new double[(endTest-beginTest+1)*30*(xDim*yDim)];
		
		int *idsDataTest =new int[(endTest-beginTest+1)*30]; // and the respective ids

		int indexer=0;

		int r,g,b;

	int COGy,COGx,xOffset,yOffset;
		int newCOGx=xDim/2;
		int newCOGy=yDim/2;
		
		LOG<<std::cout<<"Start Reading Images for TESTING... "<<std::endl;
		
		 	
		

		for(int count=beginTrain;count<=endTrain;count++)
		{
			char buff[16];


			if(count<10)
				sprintf(buff,"00000%i",count);
			else if(count<100)
				sprintf(buff,"0000%i",count);
			else if(count<1000)
				sprintf(buff,"000%i",count);



				for(int cIndex=0 ;cIndex<30;cIndex++)
				{
					filenameInput="";
					filenameOutput="r";

					filenameInput.append(buff);
					filenameInput.append("_");
					

				filenameInput.append(c[cIndex].name);
				filenameInput.append(".bmp");
				std::cout<<std::endl<<"Train:  Loading File: "<<filenameInput<<" ..."<<std::endl; 
				//std::endl<<"Loading File: "<<filenameInput<<" ..."<<std::endl; 

				if(	!bmploader.load(filenameInput,img))
				{
					
					std::cout<<std::endl<<"****Non Existing File: "<<filenameInput<<" ..."<<std::endl; 
					continue;
				}
				else
				{
					lti::channel8 mask,downmask;
					segmenter.apply(img,mask);     // get a mask to differentiate background
															// and object.
				    char buffnum[16];
					sprintf(buffnum,"000%i",scalingFactor);
					
					
					filenameOutput.append(buffnum);
					filenameOutput.append(filenameInput);
					
				

						std::cout<<"Downsampling..."<<std::endl;
					downsampler.apply(mask,downmask);
					//view1.show(downmask);
					//int t;
					//std::cin>>t;
					//bmpsaver.save("my.bmp",downmask);


				

						
				
					
					lti::areaPoints ap;
						ap.getFromMask(downmask);
						
						lti::dvector dv;

						//due to the source code it needs to define the outer boundary to assume all points for calculations
						lti::geometricFeatures::parameters param;
						
						param.boundaryDefinition= lti::geometricFeatures::parameters::eBoundaryDefinition::OuterBoundary;
						lti::geometricFeatures gf(param);
						gf.apply(ap,dv);
						COGy=int(dv.at(3));
						COGx=int(dv.at(2));
					
						//Calculated above before
					//	int oldCOGx=xDim/2;
					//	int oldCOGy=yDim/2;

						xOffset=newCOGx-COGx;
						yOffset=newCOGy-COGy;
						
						
						lti::channel8 normalImg=lti::channel8(yDim,xDim,(lti::ubyte)0);
						int i,j;
						for(j=0;j<yDim;j++)
						for( i=0;i<xDim;i++)
						{
							if((j+yOffset>=0)&& (i+xOffset>=0) && (i+xOffset<xDim) && (j+yOffset<yDim))
								normalImg[j+yOffset][i+xOffset]=downmask[j][i];
						}
						//bmpsaver.save("my.bmp",normalImg);
						


				

						
				

						std::cout<<"Adding read image to the input vector..."<<std::endl;
					
				for(j=0;j<yDim;j++)
						for(i=0;i<xDim;i++)
						{
							
						inDataTrain[indexer*(yDim*xDim)+ j*xDim+i]=normalImg[j][i];
							
						}

					
						

					

						

					idsDataTrain[indexer]=cIndex;
						indexer++;
				}

			

				}//end looping on city names
			
		}//end for looping on image numbers

		const  trainNum=indexer;
	lti::dmatrix inTrain(trainNum,xDim*yDim,inDataTrain);          // training vectors    
		
    lti::ivector idsTrain(trainNum,idsDataTrain);

indexer=0;
		for( count=beginTest;count<=endTest;count++)
		{
			char buff[16];


			if(count<10)
				sprintf(buff,"00000%i",count);
			else if(count<100)
				sprintf(buff,"0000%i",count);
			else if(count<1000)
				sprintf(buff,"000%i",count);



			
			
				for(int cIndex=0 ;cIndex<30;cIndex++)
				{
					
					filenameInput="";
					filenameOutput="r";
					filenameInput.append(buff);
					filenameInput.append("_");
					

				filenameInput.append(c[cIndex].name);
				filenameInput.append(".bmp");
				std::cout<<std::endl<<"Test: Loading File: "<<filenameInput<<" ..."<<std::endl; 
				

				if(	!bmploader.load(filenameInput,img))
				{
					//LOG<<std::endl<<"****Non Existing File: "<<filenameInput<<" ..."<<std::endl; 
					std::cout<<std::endl<<"****Non Existing File: "<<filenameInput<<" ..."<<std::endl; 
					continue;
				}
				else
				{
					lti::channel8 mask,downmask;
					segmenter.apply(img,mask);     // get a mask to differentiate background
															// and object.
				    char buffnum[16];
					sprintf(buffnum,"000%i",scalingFactor);
					
					
					filenameOutput.append(buffnum);
					filenameOutput.append(filenameInput);
				//	bmpsaver.save(filenameOutput,mask);
				

						std::cout<<"Downsampling..."<<std::endl;
					downsampler.apply(mask,downmask);
				

						
					
					
					lti::areaPoints ap;
						ap.getFromMask(downmask);
						
						lti::dvector dv;

						//due to the source code it needs to define the outer boundary to assume all points for calculations
						lti::geometricFeatures::parameters param;
						
						param.boundaryDefinition= lti::geometricFeatures::parameters::eBoundaryDefinition::OuterBoundary;
						lti::geometricFeatures gf(param);
						gf.apply(ap,dv);
						COGy=int(dv.at(3));
						COGx=int(dv.at(2));
					
						//Calculated above before
					//	int oldCOGx=xDim/2;
					//	int oldCOGy=yDim/2;

						xOffset=newCOGx-COGx;
						yOffset=newCOGy-COGy;
						
						
						lti::channel8 normalImg=lti::channel8(yDim,xDim,(lti::ubyte)0);
						int i,j;
						for(j=0;j<yDim;j++)
						for( i=0;i<xDim;i++)
						{
							if((j+yOffset>=0)&& (i+xOffset>=0) && (i+xOffset<xDim) && (j+yOffset<yDim))
								normalImg[j+yOffset][i+xOffset]=downmask[j][i];
						}
						//bmpsaver.save("my.bmp",normalImg);
						


				

						
				

						std::cout<<"Adding read image to the input vector..."<<std::endl;
					
				for(j=0;j<yDim;j++)
						for(i=0;i<xDim;i++)
						{
							
						inDataTest[indexer*(yDim*xDim)+ j*xDim+i]=normalImg[j][i];
							
						}

					
						
					idsDataTest[indexer]=cIndex;
						indexer++;
				}

			

				}//end looping on city names
			
		}//end for looping on image numbers

const int TestNum=indexer;
	   
			


lti::dmatrix inTest(TestNum,xDim*yDim,inDataTest);          // training vectors    

    lti::ivector idsTest(TestNum,idsDataTest);



	
	const int ClassNum=30;
	lti::dvector mean[ClassNum];
	lti::dvector var[ClassNum];
	lti::dvector covar[ClassNum];
	//lti::dmatrix  covar[ClassNum];
	

	for(int cNum=0;cNum<ClassNum;cNum++)
	{	
		
		for(int fNum=0;fNum<featureNum;fNum++)
		{
			mean[cNum].resize(featureNum,0);
			//claaculate expectation
			mean[cNum][fNum]=0;
			for(int tNum=cNum;tNum<trainNum;tNum+=ClassNum)
				mean[cNum][fNum]+=inTrain[tNum][fNum];
			mean[cNum][fNum]/=(trainNum/ClassNum);
		}
			//calculate Variance
		covar[cNum].resize(featureNum,0);
			
		//for(int tNum=cNum;tNum<trainNum;tNum+=ClassNum)
		//	for(int m=0;m<featureNum;m++)
		//		for(int n=0;n<featureNum;n++)
		//			covar[cNum][m][n]+=((inTrain[tNum][m]-mean[cNum][m])*(inTrain[tNum][n]-mean[cNum][n]));

		
		    for(int m=0;m<featureNum;m++)
			{
				for(int tNum=cNum;tNum<trainNum;tNum+=ClassNum)
					covar[cNum][m]+=((inTrain[tNum][m]-mean[cNum][m])*(inTrain[tNum][m]-mean[cNum][m]));
					covar[cNum][m]/=(trainNum/ClassNum);
			}

		//for(int m=0;m<featureNum;m++)
		//	for(int n=0;n<featureNum;n++)
		//		covar[cNum][m][n]/=(trainNum/ClassNum);

	}

	lti::classifier::outputVector outv(ClassNum); // here we will get some
				
					

				std::cout <<std::endl<<  "Dev Results: "<<  std::endl;

				int i,id;
				int error=0;
	
			
	  
				
				
				
					for (i=0;i<inTest.rows();++i)
					{
						
					for(int cNum=0;cNum<ClassNum;cNum++)
			{
			
				double temp=1;
				
					
				double p=1;
				//lti::dvector m=mean[cNum];
				//lti::dvector c=covar[cNum];

				//lti::gaussian<double> g=lti::gaussian<double>(mean[cNum],covar[cNum]);
				for(int m=0;m<featureNum;m++)
				{
				lti::gaussian<double> g=lti::gaussian<double>(mean[cNum][m],covar[cNum][m]);
				
 					g.apply(inTest.getRow(i).at(m),p);
					temp*=p;
				}
				
				
				
				
				

				outv.setValueByPosition(cNum,temp);
			}

					//outv.getId(outv.getWinnerUnit(),id);
			id=outv.maxPosition();
      
						
						LOG<< "Input : "<<beginTest+i/30<<"_"<<c[i%30].name<<"\tOutput: "<<c[id].name;
						if (id != idsTest.at(i)) 
						{
							error++;
							LOG<<  " - should be: " << c[idsTest.at(i)].name;
						}
					
					//	LOG<<  std::endl<<"Resized Image : "<<std::endl;
					//	for(int j=0;j<yDim*xDim;j++)
					//	  {
					//		  if(j%xDim==0)LOG<<"\r\n";
					//		LOG<<  inTest[i][j] ;
					//	 }

						  
					LOG<<  std::endl<<std::endl;	  
					}	  
				
      
					
				
				LOG<<"******ScalingFactor: "<<scalingFactor<<" ****** xDim: "<<xDim<<" yDim: "<<yDim<<"***"<<std::endl;
				LOG<<std::endl<<"Error Percent :"<<(((double)error)*100)/i<<  std::endl;
				std::cout<<std::endl<<"Error Percent :"<<(((double)error)*100)/i<<  std::endl;


				if(minerror>=(((double)error)*100)/i)
				{
					minerror=(((double)error)*100)/i;
					bestfact=scalingFactor;
					bestthresh=thresh;
					bestK=KNearNeighbor;
				
				}
				LOG<<"----------------------------\nTesting******Min Error : "<<minerror<<" Scaling Factor: "<<bestfact<<" ***xDim: "<<xDim<<" yDim: "<<yDim<<"*** Best K: "<<bestK<<std::endl;
				std::cout<<"----------------------------\nTesting******Min Error : "<<minerror<<" Scaling Factor: "<<bestfact<<" ***xDim: "<<xDim<<" yDim: "<<yDim<<"*** Best K: "<<bestK<<std::endl;


			
		free(idsDataTrain);
		free(inDataTrain);
		free(inDataTest);
		free(idsDataTest);
				}//end for looping on scaling factor
		
		

*/


//	view2.show(img2);
//int q;
//	std::cin>>q;
 bmpsaver.save("d.bmp",img2);

		std::cout << "Finished!" << std::endl;
		LOG<< "Finished!" << std::endl;

		LOG<<"----------------------------\nFinal******Min Error : "<<minerror<<" Scaling Factor: "<<bestfact<<" Best K: "<<bestK<<std::endl;
		std::cout<<"----------------------------\nFinal******Min Error : "<<minerror<<" Scaling Factor: "<<bestfact<<" Best K: "<<bestK<<std::endl;
	
	LOG.close();
	free(idsDataTrain);
		free(inDataTrain);
	
  }
  }
}  catch (lti::exception& exp) {
    std::cout << "An LTI::EXCEPTION was thrown: ";
    std::cout << exp.what() << std::endl;
  }
  catch (std::exception& exp) {
    std::cout << "std::exception was thrown: ";
    std::cout << exp.what() << std::endl;
  }
  catch (...) {
    std::cout << "Unknown exception thrown!" << std::endl;
  }
  
  return 0;
} // main

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频自拍偷拍| 久久久国产精品不卡| caoporn国产精品| 日韩高清国产一区在线| 亚洲视频你懂的| 日韩免费福利电影在线观看| 91亚洲大成网污www| 久久精品99国产国产精| 亚洲福利视频三区| 中文字幕一区二区三区视频| 日韩欧美精品在线| 欧美日本一区二区在线观看| 成人午夜免费视频| 精品一区二区免费在线观看| 午夜精品久久久久久| 亚洲欧洲日韩女同| 国产欧美精品一区二区色综合| 在线成人av网站| 91精彩视频在线| av在线一区二区| 岛国精品在线播放| 国产一区不卡视频| 免费观看日韩av| 婷婷开心久久网| 午夜视频一区在线观看| 樱桃视频在线观看一区| 中文字幕精品一区二区精品绿巨人| 精品久久人人做人人爱| 91精品欧美久久久久久动漫| 欧美日韩在线电影| 欧美私人免费视频| 欧美影院一区二区三区| 91久久久免费一区二区| 91免费看视频| 色老汉av一区二区三区| 日本电影欧美片| 91精品福利视频| 在线观看区一区二| 欧美三级视频在线播放| 欧美视频一区二区三区四区| 欧美中文字幕久久| 欧美日韩极品在线观看一区| 欧美男女性生活在线直播观看| 在线视频观看一区| 欧美无砖专区一中文字| 欧美亚洲国产一区二区三区| 欧美日韩国产123区| 8v天堂国产在线一区二区| 欧美乱熟臀69xxxxxx| 91精品国产综合久久精品麻豆| 在线成人免费视频| 精品日韩在线一区| 久久久久久日产精品| 国产日韩欧美一区二区三区综合| 国产日产欧美一区二区视频| 中文字幕av一区二区三区免费看 | 寂寞少妇一区二区三区| 国产在线精品不卡| 成人免费视频播放| 91一区一区三区| 欧美日韩一区在线| 日韩欧美国产一区二区在线播放 | 一区二区三区在线视频观看58| 一区二区三区日韩精品| 日韩和欧美的一区| 久久99久久精品| 成人精品鲁一区一区二区| 在线中文字幕一区| 欧美xfplay| 国产精品区一区二区三| 亚洲1区2区3区4区| 国产一区二区精品久久| 日本精品免费观看高清观看| 欧美一区二区三区免费| 国产精品久久久久桃色tv| 亚洲丶国产丶欧美一区二区三区| 激情深爱一区二区| 在线观看日产精品| 久久综合狠狠综合久久激情| 亚洲蜜臀av乱码久久精品蜜桃| 五月天激情综合网| 成人久久视频在线观看| 欧美性videosxxxxx| 国产午夜久久久久| 亚洲大尺度视频在线观看| 国模套图日韩精品一区二区| 91视频在线观看| 精品欧美乱码久久久久久| 综合久久久久久| 久久se这里有精品| 日本精品视频一区二区三区| 精品国产乱码久久久久久图片 | 欧美精品一区二区三区蜜桃| 国产精品成人在线观看| 久久66热偷产精品| 欧美少妇bbb| 中文字幕在线观看一区二区| 美女一区二区在线观看| 91久久精品一区二区三区| 2020国产成人综合网| 亚洲国产一区二区在线播放| 国产iv一区二区三区| 欧美一区二区三区人| 一区二区三区免费看视频| 国产精品自产自拍| 日韩一级片在线播放| 一区二区成人在线| 成人久久视频在线观看| 欧美zozozo| 天天av天天翘天天综合网| 91亚洲国产成人精品一区二区三 | 亚洲视频在线一区观看| 狠狠色丁香婷综合久久| 91精品国产综合久久福利| 亚洲男人的天堂在线观看| 国产69精品久久777的优势| 日韩三级中文字幕| 亚洲国产视频网站| 91麻豆高清视频| 国产精品拍天天在线| 国产传媒欧美日韩成人| 日韩欧美高清一区| 日韩和欧美一区二区| 欧美理论在线播放| 性久久久久久久久| 欧美三级日韩三级国产三级| 亚洲一二三四久久| 欧美在线制服丝袜| 亚洲久本草在线中文字幕| 91免费视频观看| 亚洲一区在线观看免费 | 欧美v国产在线一区二区三区| 亚洲成a人在线观看| 在线免费亚洲电影| 亚洲一二三四在线观看| 在线观看区一区二| 亚洲一区成人在线| 欧美日韩国产免费| 日本欧美在线看| 欧美一二三区精品| 久久国产精品99精品国产| 日韩免费在线观看| 黄色小说综合网站| 国产欧美视频一区二区| 不卡av在线免费观看| 亚洲品质自拍视频网站| 欧洲精品中文字幕| 日韩中文字幕亚洲一区二区va在线| 色婷婷国产精品| 五月天丁香久久| 精品国产三级电影在线观看| 国产米奇在线777精品观看| 国产视频一区在线观看| 成人性生交大片免费看在线播放| 国产精品国产三级国产aⅴ入口| 99久久精品国产观看| 亚洲一区二区三区免费视频| 欧美精品久久久久久久多人混战 | 欧美va亚洲va国产综合| 国产一区二区精品久久| 国产精品乱码一区二三区小蝌蚪| 91蜜桃视频在线| 日韩经典一区二区| 精品国产乱码久久久久久1区2区 | 国产欧美一区在线| 色域天天综合网| 日韩电影免费在线看| 国产亚洲综合性久久久影院| 成人免费视频国产在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品国产三级国产aⅴ入口 | 在线免费不卡视频| 毛片一区二区三区| 亚洲国产成人一区二区三区| 欧美优质美女网站| 激情国产一区二区| 亚洲最大成人网4388xx| 精品国产乱码久久久久久浪潮| 成年人国产精品| 日韩av中文在线观看| 欧美激情资源网| 91精品国产91久久久久久一区二区| 国产精品 日产精品 欧美精品| 一区二区在线免费| 久久综合精品国产一区二区三区| 色屁屁一区二区| 黄一区二区三区| 亚洲图片有声小说| 国产精品免费aⅴ片在线观看| 欧美高清视频www夜色资源网| 国产精品一区二区在线播放| 亚洲高清免费一级二级三级| 久久久久久久久久看片| 欧美性生活久久| 国产高清成人在线| 日韩成人免费电影| 伊人夜夜躁av伊人久久| 久久久精品免费观看| 69久久99精品久久久久婷婷| av不卡在线播放|