freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

本科-車牌識別管理系統(tǒng)(編輯修改稿)

2025-01-12 08:45 本頁面
 

【文章內容簡介】 togramArray[i] = 0。 } for (int i = 0。 i width。 i++) { for (int j = 0。 j height。 j++) { int pixel = (i, j)。 pixels[i][j][0] = getAlpha(pixel)。 pixels[i][j][1] = getRed(pixel)。 pixels[i][j][2] = getGreen(pixel)。 pixels[i][j][3] = getBlue(pixel)。 histogramArray[pixels[i][j][1]]++。 } } return outImage。 } 找車牌 本次程序實現(xiàn)中找車牌有兩種方法,第一種是通過找頂點來確定矩形,第二種采用矩形框模式匹配。 首先找四個點,左上角的點請往 x 軸正方向走一段距離的灰度值總和滿足一定的灰度總和最低值,往 Y 軸 向下走一段距離的灰度值總和滿足一定的灰度總和最低值。用相似的方法可以找到右上角的點、左下角的點,和右下角的點。然后通過這四個點來確定矩形。 本次程序實現(xiàn)中 X 軸的距離取 70, Y 軸的距離取 20,也就是說一條由點出發(fā),拿左上角的點為例,往 X 軸出發(fā),如果有條直線,其長度大于 70,灰度值總和大于某一特定值;且往 X 軸出發(fā),如果有條直線,其長度大于 20,灰度值總和大于某一特定值則這個點滿足左上角點的要求,列入了 fixlefttop[]數(shù)組中。同理可以找到其余三個點,分別保存在 fixrighttop[],fixleftbellow [],fixrightbellow[] 14 中。 其中在查找過程中設了一個灰度過高象素過濾值,以防治由于灰度值不均衡,某些點灰度過大影響灰度總和最低值的過濾作用。為了減少搜索的次數(shù),本實驗采取了直線的兩端同時搜索的辦法來找符合要求的點。 求得滿足要求的四個點以后,在對四個數(shù)組進行矩形的匹配。本實驗的匹配方法如下說明。以左上角和右下角的兩個數(shù)組進行循環(huán)搜索。比如滿足要求左上角的點為 A,滿足要求的右下角的點為 B,以這兩個點為矩形左上角點和右下角點,其可以確定唯一性。在用兩個過濾條件對所有可能的矩形進行過濾。 可以求得車牌的長,寬,長寬比。車牌的長度和寬度有一定的限制,而且都大于 0,且長寬比通常都在 到 之間。以此為過濾條件 1。過濾條件 2 是在由左上角點和右下角的點可以求出右上角和左下角的點的坐標,看看是否存在于右上角和左下角這兩個數(shù)組中。找到滿足以上要求的即退出循環(huán)。 采用方法一由于圖片效果的問題和最小條件值的原因可能找不到車牌,然后在進行第二種方法的搜索。設定一個矩形框,矩形框的大小是固定的。然后遍歷圖像中的點,找到矩形寬內灰度值總和最大的點。即找到車牌。 圖 10 矩形框法原理圖 圖 11 找 到的車牌 實現(xiàn)代碼: 15 public BufferedImage imagLocationMethd(){ for (int i = 0。 i width。 i++) { for (int j = 0。 j height。 j++) { int pixel = (i, j)。 pixels[i][j][0] = getAlpha(pixel)。 pixels[i][j][1] = getRed(pixel)。 pixels[i][j][2] = getGreen(pixel)。 pixels[i][j][3] = getBlue(pixel)。 } } long xwalk = 0。 long ywalk_left = 0。 long ywalk_right = 0。 int acclefttop = 0。 int accrighttop = 0。 int accleftbellow = 0。 int accrightbellow = 0。 int[] fixlefttop = new int[2021]。 int[] fixrighttop = new int[2021]。 int[] fixleftbellow = new int[2021]。 int[] fixrightbellow = new int[2021]。 for(int i=20。i。i++) {for(int j=1。j。j++) {for(int k=0。k70。k++) { xwalk+=[j+k][i][2]。 } 16 for(int m=0。m20。m++) { ywalk_left+=[j][i+m][2]。 } if(xwalk3000amp。amp。ywalk_left1300) { if(acclefttop+22021) { fixlefttop[acclefttop]=i*width+j。 acclefttop++。 } } for(int m=0。m20。m++) { ywalk_right+=[j+70][i+m][2]。 } if(xwalk3000amp。amp。ywalk_right1300) { if(accrighttop+22021) { fixrighttop[accrighttop]=i*width+j+70。 accrighttop++。 } } xwalk=0。 ywalk_left=0。 ywalk_right=0。 } } 17 xwalk=0。 ywalk_left=0。 ywalk_right=0。 for(int i=50。i。i++) { for(int j=1。j。j++) { for(int k=0。k70。k++) { xwalk+=[j+k][i][2]。 } for(int m=0。m20。m++) { ywalk_left+=[j][im][2]。 } if(xwalk3000amp。amp。ywalk_left1300) { if(accleftbellow+22021) { fixleftbellow[accleftbellow]=i*width+j。 accleftbellow++。 } } for(int m=0。m20。m++) { ywalk_right+=[j+70][im][2]。 } if(xwalk3000amp。amp。ywalk_right1300) { if(accrightbellow+22021) 18 { fixrightbellow[accrightbellow]=i*width+j+700。 accrightbellow++。 } } xwalk=0。 ywalk_left=0。 ywalk_right=0。 } } int x = 0, y = 0。 double rate = 0。 int wt, ht boolean fin = false, righttop = false, leftbellow = false。 int temp = 0。 for (。 fixrightbellow[temp] != 0。 temp++) 。 for (int i = 0。 fixlefttop[i] != 0。 i++) { for (int j = temp 1。 j = 0。 j) { ht = (fixrightbellow[j] fixlefttop[i]) / width。 wt = fixrightbellow[j] fixlefttop[i] ht * width。 rate = (double) wt / (double) ht。 if (wt 70 amp。amp。 ht 10 amp。amp。 rate amp。amp。 rate amp。amp。 wt 150 amp。amp。 ht 60) { for (int m = 0。 fixrighttop[m] != 0。 m++) { 19 if (fixlefttop[i] == fixrighttop[m] wt) righttop = true。 } for (int m = 0。 fixleftbellow[m] != 0。 m++) { if (fixrightbellow[i] == fixleftbellow[m] + wt) leftbellow = true。 } if (righttop == true || leftbellow == true) { fin = true。 y = fixlefttop[i] / width。 x = fixlefttop[i] y * width。 break。 } } if (fin == true) break。 } } (x + x + y + y)。 if (x == 0 amp。amp。 y == 0) { int widthed = 。 long max = 0。 long maxi = 0。 for (int a = 0。 a * widthed * 29 85。 a++) { long value = 0。 if (a (a / widthed) * widthed widthed 90) 20 continue。 int xx=0,yy=0,xx0=0,yy0=0。 for (int i = 0。 i 4。 i++) { for (int j = 0。 j 85。 j++) { xx=(int)(a + i * widthed + j)/widthed。 yy=(int)(a + i * widthed + j)xx*widthed。 xx0=(int)(a + i * widthed + j + 25 * widthed 1)/widthed。 yy0=(int)(a + i * widthed + j + 25 * widthed
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1