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

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

?? snp.java

?? SNP算法: 基于背景縮減和陰影檢測的統(tǒng)計(jì)方法,適用于室內(nèi)檢測.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
	     }
	    /*獲取圖片默認(rèn)顏色模型*/
	     model = grabber.getColorModel();
	     
	/***************************************************************************/
	    /**
	     *前奏:記錄所有象素點(diǎn)的R,G,B值
	     **/
	     for(int y=0;y<h;y++)
	     	for(int x=0;x<w;x++){
	     		int pixel = pixels[y * w + x];
	     		r[y * w + x] = model.getRed(pixel);
	     		g[y * w + x] = model.getGreen(pixel);
	     		b[y * w + x] = model.getBlue(pixel);
	     		rgb[0] = (int)r[y * w + x];
	     		rgb[1] = (int)g[y * w + x];
	     		rgb[2] = (int)b[y * w + x];
	     	}
     	
   /****************************************************************************/
        
	
		/*計(jì)算參照背景每個象素點(diǎn)的期望值*/
	    for(int y=0;y<h;y++)
	    	for(int x=0;x<w;x++){
	    		ur[y * w + x] = (float)(ur[y * w + x]*(sampleImageNum-1)+r[y * w + x])
	    						/(float)sampleImageNum;
	    		ug[y * w + x] = (float)(ug[y * w + x]*(sampleImageNum-1)+g[y * w + x])
	    						/(float)sampleImageNum;
	    		ub[y * w + x] = (float)(ub[y * w + x]*(sampleImageNum-1)+b[y * w + x])
	    						/(float)sampleImageNum;
	    	}
	    

	    /*計(jì)算參照背景每個象素點(diǎn)的方差值*/
    	for(int y=0;y<h;y++)
	    	for(int x=0;x<w;x++){
	    	   if(boolpixel[y * w + x])
	    	   {
			       tempr[y * w + x] = tempr[y * w + x] + (r[y * w + x]-ur[y * w + x])*
			       		 (r[y * w + x]-ur[y * w + x]);
			       tempg[y * w + x] = tempg[y * w + x] + (g[y * w + x]-ug[y * w + x])*
			       		 (g[y * w + x]-ug[y * w + x]);
			       tempb[y * w + x] = tempb[y * w + x] + (b[y * w + x]-ub[y * w + x])*
			       		 (b[y * w + x]-ub[y * w + x]);
			       		 
			       /*如果只有當(dāng)前一幀,則直接進(jìn)行各值初始化*/
			       if(sampleImageNum==1)
			       {
				    	sr[y * w + x] = 0.0001f;    
				    	sg[y * w + x] = 0.0001f;
				    	sb[y * w + x] = 0.0001f;
				    	α[y * w + x] = 1.0f;
				    	ma[y * w + x] = 1.0f;
			       }/*end if*/
			       else/*否則*/
			       {
				       /*學(xué)習(xí)圖像的每個象素點(diǎn)的標(biāo)準(zhǔn)差,如果方差為0,則設(shè)定最小值*/
						if(tempr[y * w + x]==0)
						{
							tempr[y * w + x] = 0.0001f;
							sr[y * w + x] = 0.0001f;
						}else{
							sr[y * w + x] = (float)Math.sqrt(tempr[y * w + x]
											/(sampleImageNum-1.0f));
						}
						if(tempg[y * w + x]==0)
						{
							tempg[y * w + x] = 0.0001f;
							sg[y * w + x] = 0.0001f;
						}else{
							sg[y * w + x] = (float)Math.sqrt(tempg[y * w + x]
											/(sampleImageNum-1.0f));
						}
						if(tempb[y * w + x]==0)
						{
							tempb[y * w + x] = 0.0001f;
							sb[y * w + x] = 0.0001f;
						}else{
							sb[y * w + x] = (float)Math.sqrt(tempb[y * w + x]
											/(sampleImageNum-1.0f));
						}
						
						/*計(jì)算暫存數(shù)組*/
						A[y * w + x] = (ur[y * w + x]/sr[y * w + x]) 
									* (ur[y * w + x]/sr[y * w + x]) 
									+ (ug[y * w + x]/sg[y * w + x]) 
									* (ug[y * w + x]/sg[y * w + x]) 
									+ (ub[y * w + x]/sb[y * w + x]) 
									* (ub[y * w + x]/sb[y * w + x]);
						B[y * w + x] = ur[y * w + x]/(A[y * w + x] 
									  * (sr[y * w + x] * sr[y * w + x]));				
						C[y * w + x] = ug[y * w + x]/(A[y * w + x] 
									  * (sg[y * w + x] * sg[y * w + x]));
						D[y * w + x] = ub[y * w + x]/(A[y * w + x] 
									  * (sb[y * w + x] * sb[y * w + x]));
						
					    /*計(jì)算學(xué)習(xí)圖像每個象素點(diǎn)的亮度偏移量和色度偏移量*/
	
						α[y * w + x] = r[y * w + x] * B[y * w + x] 
										+ g[y * w + x] * C[y * w + x] 
										+ b[y * w + x] * D[y * w + x];	
										
					
						tempalpha = tempalpha + α[y * w + x];
						
										   	  
				        /*計(jì)算每個象素點(diǎn)的亮度失真算和色度失真*/
				   		tempx[y * w + x] = tempx[y * w + x] 
				   						  + (α[y * w + x]-1)*(α[y * w + x]-1);
			    
			        	
			        	if(tempx[y * w + x]==0)
						    {
						    	tempx[y * w + x] = 0.0000001f;
						    	ma[y * w + x] = 0.0001f;
						    }
						else 
						    {
						    	ma[y * w + x]=(float)Math.sqrt(tempx[y * w + x]
						    				  /(sampleImageNum));
						    }
						 
			        	/*計(jì)算訓(xùn)練幀數(shù)的規(guī)格化亮度和色度值*/
			        	
			        	α_[y * w + x] = (α[y * w + x] - 1.0f)/ma[y * w + x];
	    	   
	    	   				/*計(jì)算當(dāng)前圖像色度和亮度偏移量的最大最小值*/
				    	if(α_[y * w + x]>max_α_)
				    	{
				    		max_α_ = α_[y * w + x];
				    		max_location = y * w + x;
				    	}		
				    
				    	if(α_[y * w + x]<min_α_)
				    	{
				    		min_α_ = α_[y * w + x];
				    		min_location = y * w + x;
				    	}	
	
			    	}/*end else(1<sampleImagenum<studyImageNum)*/
		    	}/*end if*/
		    	else
		    	{
		    		α_[y * w + x] = 1.0f;
		    	}	  
		  	} /*end for*/  		  	
		
	/*	if(sampleImageNum == 8)
		    for(int i = 0; i <100; i++)
		    {
		    	System.out.print(sampleImageNum + ": " + "Y: " + r[i] + " " + g[i] + " " + b[i] + " ");
		    	System.out.print("U: " + ur[i] + " " + ug[i] + " " + ub[i] + " ");
		    	System.out.print("S: " + sr[i] + " " + sg[i] + " " + sb[i] + " ");
		    	System.out.println();
		    	System.out.print("A: " + α[i] + " A_" + α_[i]  + " " + ma[i] + " tempx" + tempx[i] + " " );
				System.out.print("sr:" + sr[i] + " sg:" + sg[i] + " sb:" + sb[i]+ " ");
				System.out.println();
		    }		
					
		 /*查看計(jì)算的最大最小值*/  
		 /*
	     System.out.println("max_α_ = "+max_α_+"\t\tmin_α_ = "+min_α_);	
	     System.out.println("max_location= "+max_location+"\t\tmin_location= "+min_location);
	     */
		 
		 if(gety)
		 {
		 	System.out.println("當(dāng)前的Y分量為: " + RGBToYUV.gety(rgb));
		 }
		 
		 /**
		  *α_分布曲線的描繪和觀測
		  **/
		  if(paintpic)
		  {
		  	    /*描繪訓(xùn)練之后α_分布曲線的(見圖α_分布曲線.jpg)*/
				/*橫坐標(biāo)放大倍數(shù)*/
				float p=10.0f;
				/*縱坐標(biāo)放大倍數(shù)*/
				float t=1.0f;	
				
				/*橫坐標(biāo)α_ 范圍*/ 
				int temp=(int)Math.ceil(10*p);   
		              
				for(int i=0;i<temp;i++){
					/*初始化分布曲線圖像*/	
					a_map[i]=0;
														
					int mina=(int)Math.ceil((-5)*p);
					
					for(int j=0;j<w_h;j++){
						if(Math.ceil(α_[j]*p)==i+mina)
							a_map[i]=a_map[i]+1;
							/*獲取原點(diǎn)坐標(biāo)值*/
							if(Max_map<a_map[i])
							{
								Max_map=a_map[i];
								originX=i;	
							}/*end if*/						
					}/*end for*/
				}/*end for*/	
				
			    BufferedImage α_tag_ = new BufferedImage(300,300,BufferedImage.TYPE_INT_RGB);												
				for(int i=0;i<temp;i++){
				    α_tag_.setRGB((int)((float)i/(float)temp*300),(int)((1-(float)a_map[i]/
					(float)w_h*t)*300-1),16777215);												
				}
				FileOutputStream α_out_=new FileOutputStream("display/α_分布曲線.jpg");
				JPEGImageEncoder α_encoder_ = JPEGCodec.createJPEGEncoder(α_out_);
				α_encoder_.encode(α_tag_);
				α_out_.close();
		  }
		  
		 /*輸出每幀光線強(qiáng)度的和*/
		 if(totalalpha)
		 {
		 	rgbtoyuv.createtables();
		 	System.out.println("currentalpha" + this.getTempalpha());
		 }
		 
 		

	
		/*返回并保存處理結(jié)果*/	  																    
		BufferedImage tag = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);													
		tag.getGraphics().drawImage(src,0,0,w,h,null);
		
		/**
		 *二值化輸出,因需要膨脹,將背景設(shè)為false,前景true
		 **/
		if(binaryvalue)
		{
			for(int y=0;y<h;y++)
			    for(int x=0;x<w;x++){
			    	
			    	/*閾值,進(jìn)行邊界選擇*/
				    float t_a1 = 1 + 2.58f*(α[y*w+x]);
				    float t_a2 = 1 - 2.58f*α[y*w+x] * slidervalue ;
			    	
			    	
			        if((α_[y * w + x]<t_a2)||(α_[y * w + x]>t_a1))
			    	{
			    		binary[y*w+x] = true;
			    	}
			   		//原始背景(和背景圖象中相同像素具有相似的光亮度和色度)設(shè)置白色
			    	else {
			    		binary[y*w+x] = false;												
			    	}
		    	}/*end for*/
		}
		/**
		 *原圖輸出處理,無需膨脹直接輸出
		 **/
		else{
			if(!getUseSlider())
			{
			//	System.out.println("not use slider!");
				if(RGBToYUV.gety(rgb) <= 30)
				{
					slidervalue = 3.0f;
					slidervalue2 = -2.73f;
				}
				else if(RGBToYUV.gety(rgb) <= 60)
				{
					slidervalue = (float)80/RGBToYUV.gety(rgb);
					slidervalue2 = -1.5f * slidervalue;
				}
				else if(RGBToYUV.gety(rgb) <= 80)
				{
					slidervalue = 1.1f;
					slidervalue2 = -2.06f;
				}
				else if(RGBToYUV.gety(rgb) <= 100)
				{
					slidervalue = 1.16f;
					slidervalue2 = -1.5f;
				}
				else if(RGBToYUV.gety(rgb) <= 130)
				{
					slidervalue = 1.16f;
					slidervalue2 = -1.13f;
				}
				else
				{
					slidervalue = 3.0f;
					slidervalue2 = -3.0f;
				}	
			}else
			{
			//	System.out.println("Use slider!");
			}
										
		/*進(jìn)行邊界分類,對圖像進(jìn)行最后處理*/	
			for(int y=0;y<h;y++)
			    for(int x=0;x<w;x++){
			    	
			    	
			    	/*閾值,進(jìn)行邊界選擇*/
				    float t_a1 = 1 + 2.58f*(α[y*w+x]);
				    float t_a2 = 1 - 2.58f*α[y*w+x] * slidervalue ;
				
			    	/*陰影(和當(dāng)前圖象中相同像素具有相似的色度和較低的亮度)設(shè)置藍(lán)色*/
			    	if((α_[y * w + x]<slidervalue2)&&(α_[y * w + x]>t_a2))
			    	{
			    		tag.setRGB(x,y,255);
			    	}
			    	/*突出背景(和當(dāng)前圖象中相同像素具有相似的色度和較高的亮度)設(shè)置紅色*/
			    	else if((α_[y * w + x]<t_a2)||(α_[y * w + x]>t_a1))
			    	{
			    		tag.setRGB(x,y,16711680);
			    	}
			   		//原始背景(和背景圖象中相同像素具有相似的光亮度和色度)設(shè)置原來顏色
			    	else {
			    		tag.setRGB(x,y,(int)(r[y * w + x]*65536+
			    		g[y * w + x]*256+b[y * w + x]));
			    													
			    	}
		    	}/*end for*/
       		}
       	/**
       	 *二值化膨脹處理
       	 **/
       	 if(wantpengzhang)
       	 {
       	 	for(int y=1;y<h-1;y++){
       	 		int yw=y*w,y1w=(y-1)*w,y2w=(y+1)*w;
			    for(int x=1;x<w-1;x++){
			    	if(!binary[yw + x])
			    		{
			    			if(binary[y1w + x]||binary[y2w + x]||binary[yw + x + 1]||binary[yw + x - 1])
			    			{
			    				binarytemp[yw + x]=true;
			    			} 
    						else binarytemp[yw + x]=false;
			    		}
			    	else binarytemp[yw + x]=true;
			    
			    }
			}
			
			for(int y=0;y<h;y++)
			    for(int x=0;x<w;x++){
			    	binary[y * w + x] = binarytemp[y * w + x];
			 	}   
       	 }
       	 
       	 /*二值化結(jié)果圖像輸出*/
       	 if(binaryvalue)
		{
			for(int y=0;y<h;y++)
			    for(int x=0;x<w;x++){					  
			        /*動態(tài)前景(像素具有和期望值不同的色度)設(shè)置成綠色*/
			    	if(binary[y * w + x]){
						tag.setRGB(x,y,0);				
			    	}
			    	else {
			    		tag.setRGB(x,y,-1);											
			    	}
		    	}/*end for*/
		}
		
        /**
         *保存圖像處理
         **/
         if(saved)
         {
	        FileOutputStream out=new FileOutputStream("result/result"+
			sampleImageNum+".jpg");
			JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
			encoder.encode(tag);
			out.close();
         }
		
		t0 = System.currentTimeMillis() - t0;
      	System.out.println("Paint the picture takes " + t0 + "ms");
      	 
	    return tag;   
	    
	}/*end SNPProcess()*/
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国三级电影一区二区| 日韩av二区在线播放| 欧美丰满高潮xxxx喷水动漫| 在线观看日韩毛片| 欧美电影在线免费观看| 亚洲高清在线视频| 国产高清久久久| 91啪在线观看| 欧美电影一区二区| 奇米影视在线99精品| 色综合天天综合网天天看片 | 欧美一区二区国产| 亚洲国产成人午夜在线一区| 亚洲国产视频网站| 91精品国产综合久久久久久| 国产精品久久久久久久久久久免费看 | 国产激情视频一区二区三区欧美| 久久色在线观看| 亚洲国产aⅴ天堂久久| 日韩一区二区中文字幕| 亚洲国产成人va在线观看天堂| 欧美浪妇xxxx高跟鞋交| 国产一区二区三区在线看麻豆| 欧美精三区欧美精三区| 久久97超碰国产精品超碰| 欧美日韩精品综合在线| 亚洲精品日韩一| 国产成人自拍网| 亚洲综合丁香婷婷六月香| 不卡一卡二卡三乱码免费网站| 欧美一区二区啪啪| 成人精品一区二区三区四区| 久久午夜羞羞影院免费观看| 91性感美女视频| 经典三级在线一区| 亚洲一区在线观看网站| 亚洲精品一区二区三区99| 日本韩国欧美三级| 亚洲黄色小视频| 久久久精品欧美丰满| 国产精品一区二区无线| 久久精品视频在线免费观看 | 中文字幕免费不卡在线| 欧美日韩国产免费一区二区| 成人性生交大片免费看视频在线 | 欧美一区二区三区电影| 色综合视频在线观看| 亚洲综合色噜噜狠狠| 久久色在线视频| 欧美一区二区三区的| 欧美日韩精品系列| 成人动漫一区二区| 经典三级视频一区| 美女一区二区在线观看| 久久久久久久电影| 91精品国产一区二区三区蜜臀| 91麻豆成人久久精品二区三区| 国产精品一区在线| 国模少妇一区二区三区| 丝瓜av网站精品一区二区| 日韩午夜三级在线| 欧美日韩午夜精品| 极品少妇一区二区| 日本伊人色综合网| 亚洲va国产va欧美va观看| 26uuu成人网一区二区三区| 5566中文字幕一区二区电影| 欧美日韩免费一区二区三区| 色婷婷综合久久久| 91影院在线免费观看| 成人sese在线| 成人h精品动漫一区二区三区| 国产精品影视天天线| 狠狠色狠狠色综合| 国内精品第一页| 国产一区二区美女诱惑| 经典一区二区三区| 国产成人在线看| 国产不卡高清在线观看视频| 午夜视频久久久久久| 国产午夜久久久久| 国产欧美一区二区精品性| 欧美视频在线播放| 成人午夜在线免费| 不卡在线观看av| 成人黄色在线看| 色悠悠亚洲一区二区| 在线观看免费视频综合| 欧美欧美欧美欧美首页| 91精品国产全国免费观看 | 中文字幕av免费专区久久| 国产婷婷一区二区| 国产精品毛片无遮挡高清| 欧美人牲a欧美精品| 欧美日韩精品欧美日韩精品| 欧美肥妇free| 精品美女在线播放| 欧美人妖巨大在线| 精品久久一区二区三区| 国产欧美日韩一区二区三区在线观看| 国产精品美女久久福利网站| 夜夜嗨av一区二区三区四季av| 国产日韩欧美精品综合| 国产精品国产三级国产普通话99 | 精品久久久久久久久久久久久久久 | 欧美色窝79yyyycom| 欧美日韩精品综合在线| 精品国产凹凸成av人导航| 中文字幕乱码日本亚洲一区二区| 亚洲精品免费播放| 久久国产精品第一页| 日韩精品欧美精品| 国产剧情一区二区三区| 91蝌蚪porny九色| 日韩欧美成人一区二区| 777亚洲妇女| 久久久久免费观看| 亚洲乱码国产乱码精品精98午夜 | 久久色.com| 一区二区三区在线看| 奇米影视一区二区三区| av不卡一区二区三区| 国产九色sp调教91| 欧洲精品在线观看| 国产日韩影视精品| 五月激情六月综合| 不卡的电影网站| 日韩欧美一级片| 亚洲午夜在线电影| 国产·精品毛片| 欧美一区二区私人影院日本| 亚洲欧洲精品一区二区精品久久久| 国产三区在线成人av| 午夜精品久久久久久久99樱桃| 福利一区在线观看| 日韩欧美中文一区二区| 亚洲综合色视频| av资源网一区| 久久久三级国产网站| 五月激情六月综合| 色94色欧美sute亚洲线路二| 欧美激情一区二区三区不卡| 免费观看成人av| 在线不卡a资源高清| 一区二区在线观看免费| 成人一道本在线| www亚洲一区| 蜜桃一区二区三区在线观看| 欧美色图第一页| 亚洲卡通欧美制服中文| 波多野结衣的一区二区三区| 久久久久久久精| 国产美女精品在线| 精品99一区二区| 久久精品免费看| 日韩欧美高清dvd碟片| 日韩精品国产欧美| 欧美精品日韩精品| 亚洲成av人片在www色猫咪| 91久久一区二区| 一区二区三区四区在线播放| 93久久精品日日躁夜夜躁欧美| 91麻豆精品国产自产在线观看一区 | 肉丝袜脚交视频一区二区| 色94色欧美sute亚洲13| 亚洲色图欧洲色图婷婷| 日产精品久久久久久久性色| 欧美视频完全免费看| 亚洲一线二线三线视频| 日本韩国一区二区三区| 亚洲一区二区四区蜜桃| 欧美午夜电影网| 亚洲r级在线视频| 91精品国产综合久久久久久| 男女男精品视频| 亚洲精品一线二线三线无人区| 黄网站免费久久| 国产精品免费aⅴ片在线观看| 成人国产免费视频| 亚洲日本在线观看| 欧美午夜一区二区| 日本美女一区二区三区| 精品国产伦一区二区三区观看体验| 久久99精品久久久久婷婷| 久久久影视传媒| 99国产欧美另类久久久精品| 亚洲精品欧美激情| 日韩午夜在线影院| 岛国一区二区在线观看| 亚洲乱码日产精品bd| 欧美日韩三级在线| 黄色日韩三级电影| 日韩码欧中文字| 欧美电影影音先锋| 国产高清在线精品| 亚洲伦理在线免费看| 欧美一区二区免费视频| 精品久久久久久最新网址| 国产91精品一区二区麻豆网站| 亚洲欧洲综合另类|