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

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

?? snp.java

?? SNP算法: 基于背景縮減和陰影檢測的統計方法,適用于室內檢測.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package bin;

import java.lang.Math;

import java.io.File;
import java.io.FileOutputStream;

import java.awt.image.*;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.Rectangle;

import com.sun.image.codec.jpeg.JPEGCodec;                  
import com.sun.image.codec.jpeg.JPEGImageEncoder;

/******************************************************************************
 *SNP(基于統計的背景消除算法):	該算法的主要功能是對室內環境條件下的人的陰影檢*																		  	
 *測和背景消除,實現將運動前景,運動對象陰影,靜態背景三者的分離. 				  * 	
 *版本號:1.0																  *	
 *作者:happyjay(段俊杰)													      *	
 *程序接口:a.保存圖像接口;b.分布曲線接口;c.二值圖(原圖)接口;d.去陰影接口;e.圖 *
 *像膨脹接口																  *
 *本程序主接口為SNPProcess(),主要用來進行SNP算法處理         		          *	
 ******************************************************************************/
public class SNP
{
	/*輸入學習圖片數*/
	static int sampleImageNum = 0;

	/*是否保存圖像*/
	boolean saved = false;
	
	/*是否需要畫出分布圖*/
	boolean paintpic = false;
	
	/*是否需要二值顯示*/
	boolean binaryvalue = false;
	
	/*是否需要去陰影*/
	boolean subshadow = false;
	
	/*是否需要膨脹處理*/
	boolean wantpengzhang = false;
	
	/*計算每幀光線強度總和*/
	boolean totalalpha = false;
	
	/*計算Y分量*/
	boolean gety = false;
	
	/*是否使用滑桿*/
	boolean useslider = false;
	
	/*閾值設置*/
	float slidervalue = 3.0f;
	float slidervalue2 = -3.0f;
	
	/*輸入圖象寬度,高度,面積域 */
    int w=0;			
	int h=0;			
	int w_h=0;	
	
	/*輸入源圖象*/
	Image src = null;
	
	/*抓取圖像參數*/
	PixelGrabber grabber = null;
	ColorModel model = null;
	
	/*存取圖像象素數組*/
	int pixels[];
	
	boolean boolpixel[];
		
	/*r,g,b值存放數組,存放圖象RGB值*/
	float r[];
    float g[];
    float b[];
    
    /*為求Y分量,將RGB存儲在同一個數組*/
    int []rgb;
    	    
    /*r,g,b期望值存放數組*/
    float ur[];							
    float ug[];							
    float ub[];	
    
    /*各幀r,g,b方差值存放數組*/	
    float sr[];							
    float sg[];							
    float sb[];
    
    /*二值化數組,用于二值化處理*/
    boolean binary[];
    boolean binarytemp[];
    
    /*亮度失真*/
    float ma[];
    
    /*象素點亮度偏移量數組α[]*/				
    float α[];							
    
    /*規格化亮度偏移量和色度偏移量存放數組*/						
    float α_[];
    
    /*暫存數組(提高計算效率)*/
    float A[];
    float B[];
    float C[];
    float D[];
    
    /*各個象素點的期望值的方差和*/
    float tempr[];
    float tempg[];
    float tempb[];
    
    /*光線強度總和*/
    float tempalpha;
    
	/*存儲上次光線強度和*/
	float lastalpha;
	
	/*當前幀與上一幀的光線強度差異*/
	float deltaalpha;
	
    /*各個象素點的亮度失真和色度失真的方差和*/
    float tempx[];
    float tempy[];	
    
    /*α和cd的最大最小值*/
    float max_α_;																	
    float min_α_;								
    
    /*α和CD的分布曲線數組*/								
	int a_map[];							
		
	/*坐標系中原點值(即縱坐標最大值時橫坐標的值)*/
	float Max_map;
	int originX;
	
	/*最大最小規格化值出現的點的位置*/
	int max_location = 0;
	int min_location = 0;
	

   /****************************************************/
   /*設置檢測區域*/
   public void setDetectArea(Rectangle rec)
   {
   		int startX = (int)rec.getX();
   		int startY = (int)rec.getY();
   		int endX = startX + (int)rec.getWidth();
   		int endY = startY + (int)rec.getHeight();
   		
   		if(startX < 0) startX = 0;
   		if(startY < 0) startY = 0;
   		if(endX > w) endX = w;
   		if(endY > h) endY = h;
   		
   		for(int y = startY; y < endY; y++)
   			for(int x = startX; x < endX; x++)
   			{
   				boolpixel[y * w + x] = true;
   			}
   }
   
   /*默認區域*/
   public void setDefaultArea()
   {
   		for(int y = 0; y < h; y++)
   			for(int x = 0; x < w; x++)
   			{
   				boolpixel[y * w + x] = true;
   			}
   }
   /*設置閾值*/
   public void setSlidervalue(float slidervalue)
   {
   		this.slidervalue = slidervalue;
   }
   
   /*獲取閾值*/
   public float getSlidervalue()
   {
   		return this.slidervalue;
   }
   
    /*設置陰影閾值*/
   public void setSlidervalue2(float slidervalue2)
   {
   		this.slidervalue2 = slidervalue2;
   }
   
   /*獲取陰影閾值*/
   public float getSlidervalue2()
   {
   		return this.slidervalue2;
   }
   
   /*設置是否要計算totalalpha的值*/
    public void setTotalalpha(boolean totalalpha)
    {
    	this.totalalpha = totalalpha;
    }
    
    /*得到當前輸出的值*/
    public float getTempalpha()
    {
    	return this.tempalpha;
    }
    
   /*設置是否需要二值輸出,默認為原圖輸出*/
    public void setBinaryvalue(boolean binaryvalue)
    {
    	this.binaryvalue = binaryvalue;
    }
    
    /*得到當前輸出的狀態*/
    public boolean getBinaryvalue()
    {
    	return this.binaryvalue;
    }
    
    /*設置是否需要膨脹處理*/
    public void setPengzhang(boolean wantpengzhang)
    {
    	this.wantpengzhang = wantpengzhang;
    }
    
    /*獲得膨脹狀態*/
    public boolean getPengzhang()
    {
    	return this.wantpengzhang;
    }
    
    /*設置是否需要保存處理后的圖像*/
    public void setSaved(boolean saved)
    {
   	   this.saved = saved;
    } 
    
    /*獲得保存狀態*/
    public boolean getSaved()
    {
    	return this.saved;
    }
    
    /*設置是否需要畫出分布曲線*/
    public void setPic(boolean paintpic)
    {
    	this.paintpic = paintpic;
    }
    
    /*獲得分布曲線狀態參數*/
    public boolean getPic()
    {
    	return this.paintpic;
    }
    
    /*設置是否計算Y分量*/
    public void setY(boolean gety)
    {
    	this.gety = gety;
    }
    
    public void setUseSlider(boolean useslider)
    {
    	this.useslider = useslider;
    }
    
    public boolean getUseSlider()
    {
    	return this.useslider;
    }
    /***************************************************/
    /**
	 *以下構造函數,初始化數據
	 **/
	public SNP(BufferedImage inImage) throws Exception
	{
		/*輸入初始圖像,進行寬度和高度初始化*/
		src = inImage;
		w = src.getWidth(null);
		h = src.getHeight(null);
		w_h = w * h;

		boolpixel = new boolean[w_h];
		
		/*r,g,b值存放數組,存放圖象RGB值*/
		r = new float[w_h];
	    g = new float[w_h];
	    b = new float[w_h];
	    
	    /*申請3個浮點空間存放每個象素點的RGB值*/	
	    rgb = new int[3];
	        
	    /*r,g,b期望值存放數組*/
	    ur = new float[w_h];							
	    ug = new float[w_h];							
	    ub = new float[w_h];	
	    
	    /*各幀r,g,b方差值存放數組*/	
	    sr = new float[w_h];							
	    sg = new float[w_h];							
	    sb = new float[w_h];
	    
	    /*二值化數組初始化*/
	    binary = new boolean[w_h];
	    binarytemp = new boolean[w_h];
	    
	    /*記錄期望值方差和初始化*/
	    tempr = new float[w_h];
	    tempg = new float[w_h];
	    tempb = new float[w_h];
	    
	    /*記錄亮度失真和色度失真的和*/
	    tempx = new float[w_h];
    	tempy = new float[w_h]; 
    	
	    
	    /*亮度失真和色度失真*/
	    ma = new float[w_h];
	    
	    /*象素點亮度偏移量數組α[]和色度偏移量數組cd[]*/				
	    α = new float[w_h];							
	    
	    /*初始化預先存儲數組*/
	    A = new float[w_h];
	    B = new float[w_h];
	    C = new float[w_h];
	    D = new float[w_h];
	    
	    /*規格化亮度偏移量和色度偏移量存放數組*/						
	    α_ = new float[w_h];							
	    	    
	    /*初始化圖形參數*/
	    a_map = new int[10000];
	    
	    /*初始化坐標原點值*/
	    Max_map = 0.0f;
		originX = 0;
	}
	
	/***************************************************/
	/**
	 *SNP處理函數,參數為輸入處理圖像
	 **/
	public BufferedImage SNPProcess(BufferedImage inImage) 
									throws Exception					 
	{
		
		RGBToYUV rgbtoyuv = new RGBToYUV();
		
		/*輸入模板圖片數增加1*/
		sampleImageNum++;
       
        /*初始化每幀光線強度的和*/
        tempalpha = 0;
        
        System.out.println(sampleImageNum + "SNPProcess");
        long t0 = System.currentTimeMillis();
        
        /*輸入視頻圖像*/
        src = inImage;
		w = src.getWidth(null);
		h = src.getHeight(null);
		w_h = w * h;
		
		/*存取圖像象素數組*/
		int pixels[] = new int[w_h];
		
		/**
	     *以下讀入模版圖片,將圖像的所有象素存入pixels數組 
	     **/  
	    grabber = new PixelGrabber(src, 0, 0, w, h, pixels, 0, w);
	    try
		  {
		      grabber.grabPixels();
		  }catch(InterruptedException e)
	     {
	     	e.printStackTrace();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品久久二区二区蜜臀av| 亚洲色图.com| 欧美午夜片在线观看| av一二三不卡影片| 成人av影院在线| 91麻豆免费视频| 色综合久久天天综合网| 在线观看免费成人| 欧美三级日韩三级国产三级| 欧美性色黄大片| 777久久久精品| 精品国产电影一区二区| 久久亚洲捆绑美女| 久久久久一区二区三区四区| 国产欧美一区二区三区鸳鸯浴 | 国产成人精品午夜视频免费| 麻豆精品在线播放| 国产综合色视频| 91亚洲精华国产精华精华液| 欧美日本韩国一区二区三区视频 | 久久精品亚洲乱码伦伦中文| 国产亚洲一区二区三区| 国产精品久久久久一区| 亚洲人精品午夜| 亚州成人在线电影| 国产夫妻精品视频| 色八戒一区二区三区| 欧美一区二区人人喊爽| 欧美极品xxx| 亚洲国产精品一区二区久久恐怖片| 亚洲丰满少妇videoshd| 国内精品国产成人国产三级粉色| 99热在这里有精品免费| 欧美精品久久99| 亚洲欧洲性图库| 久久超碰97人人做人人爱| eeuss鲁片一区二区三区| 欧美日韩国产中文| 亚洲福利视频一区二区| 麻豆精品国产91久久久久久| 成人短视频下载| 欧美一级xxx| 综合久久久久久久| 另类中文字幕网| 色噜噜狠狠成人中文综合| 日韩精品一区二区三区在线观看 | 国产亚洲一区二区三区四区| 一区二区三区波多野结衣在线观看| 日本欧美一区二区| 日本道精品一区二区三区| xnxx国产精品| 人禽交欧美网站| 色老综合老女人久久久| 国产精品毛片无遮挡高清| 蜜臀av性久久久久蜜臀aⅴ四虎| 99r国产精品| 久久综合久久综合九色| 五月天视频一区| 一本一道久久a久久精品| 欧美激情一区二区三区不卡| 蜜臀99久久精品久久久久久软件| 91黄视频在线| 中文字幕一区二区三区不卡 | 欧洲精品在线观看| 中文字幕av一区二区三区| 精品一区二区三区视频在线观看| 在线亚洲精品福利网址导航| 国产精品久久久久9999吃药| 国产精品996| 欧美变态tickling挠脚心| 蜜臀久久99精品久久久久久9| 97se亚洲国产综合自在线 | zzijzzij亚洲日本少妇熟睡| 精品久久久久久久一区二区蜜臀| 五月激情六月综合| 3751色影院一区二区三区| 午夜视频在线观看一区二区三区| 91亚洲精品久久久蜜桃| 亚洲欧美日韩国产中文在线| 不卡的看片网站| 亚洲色图一区二区| 91国在线观看| 成人黄色777网| 国产精品久久久久久久久久免费看 | 精品久久久久久久人人人人传媒| 天堂资源在线中文精品| 色菇凉天天综合网| 亚洲成人av中文| 欧美老女人第四色| 蜜臂av日日欢夜夜爽一区| 精品久久五月天| 国产suv一区二区三区88区| 国产精品天天看| 91热门视频在线观看| 亚洲黄网站在线观看| 欧美日韩国产一区| 奇米一区二区三区av| 精品国产免费人成在线观看| 国产乱子伦一区二区三区国色天香| 久久精品无码一区二区三区| 本田岬高潮一区二区三区| 亚洲视频一区二区免费在线观看| 欧洲国内综合视频| 麻豆精品久久精品色综合| 欧美高清在线一区| 欧美午夜精品久久久| 老司机午夜精品| 国产精品久久一卡二卡| 欧美伊人久久久久久久久影院 | 欧美人牲a欧美精品| 另类欧美日韩国产在线| 国产片一区二区| 欧美精品丝袜中出| 国产成人午夜电影网| 亚洲欧美激情一区二区| 日韩一级精品视频在线观看| 成人av在线资源网站| 亚洲成人综合视频| 欧美国产综合一区二区| 欧美精品久久久久久久久老牛影院| 国产精品羞羞答答xxdd| 亚洲丶国产丶欧美一区二区三区| 精品久久久久久无| 欧美三级日韩三级国产三级| 成人黄页毛片网站| 另类小说欧美激情| 亚洲不卡一区二区三区| 亚洲国产高清aⅴ视频| 91精品国产美女浴室洗澡无遮挡| 99国产精品视频免费观看| 蜜桃一区二区三区在线| 亚洲精品欧美激情| 国产女人水真多18毛片18精品视频| 欧美日韩电影在线| 日本丶国产丶欧美色综合| 国产黄色精品网站| 日本伊人色综合网| 艳妇臀荡乳欲伦亚洲一区| 国产精品污污网站在线观看| 2023国产一二三区日本精品2022| 欧美综合色免费| 成人美女在线视频| 国产精品一二三区| 精品一区二区三区在线观看 | 99re在线精品| 成人综合在线视频| 国产一区久久久| 久久 天天综合| 色狠狠一区二区| 一本一本大道香蕉久在线精品 | 91精品国产综合久久久久| 色哟哟国产精品免费观看| 成人动漫视频在线| www.亚洲色图| 91猫先生在线| 91精品1区2区| 欧美日本在线观看| 3d成人h动漫网站入口| 日韩一区二区麻豆国产| 制服丝袜成人动漫| 日韩精品一区二区三区视频在线观看| 欧美日韩国产综合一区二区三区| 欧美日韩一区久久| 日韩欧美一二区| 久久综合九色综合欧美亚洲| wwwwww.欧美系列| 国产精品午夜在线观看| 亚洲日本丝袜连裤袜办公室| |精品福利一区二区三区| 综合av第一页| 午夜久久久久久电影| 蜜桃一区二区三区在线| 风流少妇一区二区| 在线免费不卡电影| 欧美精品久久99久久在免费线 | 中文字幕免费不卡| 中文字幕在线观看不卡视频| 亚洲视频一区在线观看| 三级精品在线观看| 国产乱子轮精品视频| 一本到不卡精品视频在线观看| 在线观看精品一区| 日韩一级免费一区| 欧美韩国日本综合| 亚洲va韩国va欧美va| 九九热在线视频观看这里只有精品| 国产精品一卡二卡在线观看| 大白屁股一区二区视频| 欧美日韩精品一二三区| 久久九九久久九九| 一区二区久久久久久| 麻豆91在线播放免费| 成人午夜激情片| 91精品国产综合久久久久久久| 国产午夜亚洲精品不卡| 视频一区二区三区中文字幕| 国产成人自拍高清视频在线免费播放| 色综合中文字幕国产| 777精品伊人久久久久大香线蕉| 久久综合九色综合97婷婷女人|