欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種儀表指針識(shí)別的檢測(cè)算法

文檔序號(hào):6527054閱讀:260來(lái)源:國(guó)知局
一種儀表指針識(shí)別的檢測(cè)算法
【專利摘要】本發(fā)明公開(kāi)了一種儀表指針識(shí)別的檢測(cè)算法,采集待測(cè)儀表的彩色圖像I;計(jì)算機(jī)讀取待測(cè)儀表的彩色圖像I;對(duì)彩色圖像I進(jìn)行灰度化處理,得到灰度圖像I1;對(duì)灰度圖像I1進(jìn)行裁剪,得到裁剪后的圖像I2;對(duì)裁剪后的圖像I2進(jìn)行二值化處理,得到二值化處理后的圖像I3;對(duì)二值化后的圖像I3進(jìn)行指針查找,在I3圖像中提取出指針,得到指針圖像B1;再由直線擬合求出起始刻度刻度線的斜率,該方法以圓心為中心以x軸正向?yàn)槠鹗季€分別做順、逆時(shí)針弧度掃描計(jì)算指針偏轉(zhuǎn)的角度,再取兩次所求得的偏轉(zhuǎn)角度的角度平均值,然后根據(jù)該角度平均值以及上述求出的起始刻度線的斜率再做相應(yīng)的數(shù)學(xué)計(jì)算便可得到指針?biāo)傅淖x數(shù)。該方法高效、精確度高,可以大批量的對(duì)儀表進(jìn)行檢定。
【專利說(shuō)明】一種儀表指針識(shí)別的檢測(cè)算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)圖像處理【技術(shù)領(lǐng)域】,特別是指一種儀表識(shí)別的算法。
【背景技術(shù)】
[0002]指針式儀表作為一種傳統(tǒng)的計(jì)量?jī)x器,由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、維護(hù)方便、防腐蝕、不受電磁場(chǎng)干擾、耐低溫、可靠性高等諸多優(yōu)點(diǎn),目前仍廣泛應(yīng)用于電力、交通運(yùn)輸、科學(xué)實(shí)驗(yàn)和居民生活等各個(gè)領(lǐng)域。指針式儀表需要定期對(duì)其進(jìn)行抄表讀數(shù)或準(zhǔn)確度檢定。指針式儀表的檢定技術(shù)發(fā)展到今天,檢定工作的自動(dòng)化水平受各單位生產(chǎn)規(guī)模和經(jīng)濟(jì)實(shí)力的制約,基本處于人工、半自動(dòng)化階段。在對(duì)指針式儀表進(jìn)行檢定的過(guò)程中需要人工參與讀數(shù),由于人眼的視覺(jué)誤差和視覺(jué)疲勞,當(dāng)指針位于表盤(pán)的兩分度線之間時(shí),人眼只能粗略估計(jì)指針的位置。這些判讀易受到人的觀測(cè)角度、觀測(cè)距離等因素影響,不穩(wěn)定、可靠性不高,人眼的分辨能力有限,并且整個(gè)工作過(guò)程繁瑣,重復(fù)性工作很多,數(shù)據(jù)處理工作量大,檢定效率低,在檢驗(yàn)測(cè)試工作中難免出現(xiàn)疏忽和差錯(cuò)。

【發(fā)明內(nèi)容】
[0003]針對(duì)上述現(xiàn)有技術(shù)中存在的缺陷或不足,本發(fā)明的目的在于,提供一種儀表指針識(shí)別的檢測(cè)算法,該算法通過(guò)逆時(shí)針和順時(shí)針求出指針角度然后取平均值,大大提高了識(shí)別精確度,克服了人眼觀察時(shí)誤差大的缺點(diǎn),且大大提高了工作效率,省時(shí)省力。
[0004]為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案予以解決:
[0005]一種儀表指針識(shí)別的檢測(cè)算法,具體包括如下步驟:
[0006]步驟1:采集待測(cè)儀表的彩色圖像I ;計(jì)算機(jī)讀取待測(cè)儀表的彩色圖像I ;
[0007]步驟2:對(duì)彩色圖像I進(jìn)行灰度化處理,得到灰度圖像Il ;
[0008]步驟3:對(duì)灰度圖像Il進(jìn)行裁剪,得到裁剪圖像12 ;
[0009]步驟4:對(duì)裁剪圖像12進(jìn)行二值化處理,得到二值化處理后的圖像13 ;
[0010]步驟5:對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI ;
[0011]步驟6:由直線擬合求出起始刻度線的斜率k,根據(jù)步驟5中的指針偏轉(zhuǎn)角度d以及斜率k得到指針的讀數(shù);返回步驟I。
[0012]進(jìn)一步的,所述步驟2中對(duì)彩色圖像I進(jìn)行灰度化采用分量法、最大值法、平均值法或者加權(quán)平均法。
[0013]進(jìn)一步的,所述步驟3中對(duì)灰度圖像Il進(jìn)行裁剪得到裁剪圖像12具體包括如下步驟:
[0014]I)設(shè)灰度圖像Il上的點(diǎn)的位置記為(i, j), I≤i≤a, I≤j≤b,其中a, b為灰度圖像Ii的像素點(diǎn)矩陣的總行數(shù)與總列數(shù);
[0015]2)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離不小于儀表的外徑,則令該像素點(diǎn)的灰度值為為255 ;所述儀表的外徑是指儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑;[0016]3)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離小于等于儀表的內(nèi)徑,則令該該像素點(diǎn)的灰度值為255 ;所述儀表的內(nèi)徑指儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑;
[0017]4)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離在內(nèi)徑和外徑之間,則該元素的灰度值保持不變;得到裁剪圖像12。
[0018]進(jìn)一步的,所述步驟4中對(duì)裁剪圖像12進(jìn)行二值化處理具體包括如下步驟:
[0019]I)計(jì)算初始閾值th= (tmin+tmax) /2 ;其中,tmax和tmin是裁剪圖像12像素點(diǎn)的最大灰度值和最小灰度值。
[0020]2)將12圖像分割為灰度值大于初始閾值th的圖像區(qū)域Gl和灰度值小于等于初始閾值th的圖像區(qū)域G2。
[0021]3)分別計(jì)算圖像區(qū)域Gl和圖像區(qū)域G2包含的像素的灰度均值ul和u2。
[0022]4)計(jì)算新的閾值 th=(ul+u2)/2。
[0023]5)重復(fù)步驟2)、3)、4),直到連續(xù)兩次計(jì)算得到的閾值th的差值的絕對(duì)值小于I。
[0024]6)如果裁剪圖像12上任意像素點(diǎn)的灰度值大于步驟5最終得到的閾值th,則給該像素點(diǎn)的灰度值賦值255 ;否則賦值0,得到二值化處理后的圖像13。
[0025]進(jìn)一步的,所述步驟5的對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI具體包括如下步驟:
[0026]I)首先將二值化處理后的圖像13中的儀表表盤(pán)等分成400等份,每一份為一個(gè)圓心角極小的扇形,這些扇形均可近似成線,掃描從以表盤(pán)的中心為原點(diǎn)的X軸的正方向開(kāi)始。
[0027]2)在儀表表盤(pán)部分找出hi到h2之間黑色像素點(diǎn)最多的一個(gè)扇形;其中,hi代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑,h2代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑;具體操作如下:
[0028]首先逆時(shí)針尋找,設(shè)點(diǎn)(X,y)是逆時(shí)針旋轉(zhuǎn)到某一個(gè)扇形初始位置時(shí)位于hi和h2之間的點(diǎn),其坐標(biāo)x=xQ+r*cos (dl), y=y0-r*sin(dl),其中,r為該點(diǎn)所在位置到儀表表盤(pán)中心的距離,它是以hi為初始值,以步長(zhǎng)I掃描,以h2為結(jié)束值的一變化值;dl為所檢測(cè)的扇形的初始位置相對(duì)于X軸的正方向的逆時(shí)針旋轉(zhuǎn)角度,從水平方向開(kāi)始,以0.005*pi的步長(zhǎng)掃描,到2*pi結(jié)束;X(1、%分別為儀表中心的橫坐標(biāo)和縱坐標(biāo)。
[0029]3)對(duì)于步驟2)中的每一步所到達(dá)的扇形區(qū)域,判斷不同r值對(duì)應(yīng)的像素點(diǎn)是否為黑色像素點(diǎn),如果是,則認(rèn)為該像素點(diǎn)為要找的像素點(diǎn),將其對(duì)應(yīng)的扇形區(qū)域中的黑色像素點(diǎn)個(gè)數(shù)sum加I ;如此逆時(shí)針旋轉(zhuǎn)一周,把每個(gè)扇形區(qū)域的黑色像素點(diǎn)個(gè)數(shù)分別賦給矩陣Al,然后尋找矩陣Al中最大元素對(duì)應(yīng)的扇形位置,矩陣Al中的列序號(hào)coll反映該扇形區(qū)域在儀表中的位置,然后根據(jù)序號(hào)coll計(jì)算角度d3=2*pi/400*coll,400表示儀表等分的份數(shù);coll為Al中最大元素對(duì)應(yīng)的列序號(hào);d3為逆時(shí)針掃描得到的指針角度。
[0030]4)按照步驟2)和步驟3)相同的方式,從X軸正方向開(kāi)始,順時(shí)針旋轉(zhuǎn)到指針位置得到角度d4,計(jì)算順時(shí)針查找出的指針的角度d5=2 -d4 ;然后計(jì)算角度d3和角度d5的平均值作為最終的指針角度d。
[0031]5)定義一個(gè)全O圖像矩陣BI,設(shè)(i,j)為二值化圖像13上的任一像素點(diǎn)的位置,將到圓心的距離大于外徑11和小于內(nèi)徑12的像素點(diǎn)的灰度值賦值255。然后將指針角度d對(duì)應(yīng)的指針位置上的所有像素點(diǎn)的灰度值賦值255,即得指針圖像BI。[0032]進(jìn)一步的,所述步驟6中指針讀數(shù)的算法具體包括如下步驟:
[0033]I)已知起始刻度線上的某點(diǎn)坐標(biāo)與儀表表盤(pán)圓心坐標(biāo),將它們進(jìn)行直線擬合求出起始刻度線的斜率,由該斜率算出其傾斜角Q ;
[0034]2)根據(jù)指針角度d得出指針位于掃描的扇形區(qū)域序號(hào)col ;
[0035]3)若 0〈=col〈300,則指針讀數(shù) y=w+(p1-d+Q)*D ;若 300〈=col〈400,則指針讀數(shù)y=w+ (pi+Q+2*p1-d) *D,其中,d為指針的角度,D為儀表的每一扇形代表的讀數(shù),D=0.2115 ;w為起始刻度線的值。
[0036]與現(xiàn)有技術(shù)相比較,本發(fā)明的算法具有以下優(yōu)點(diǎn):
[0037]1、克服了人眼觀察時(shí)誤差大的缺點(diǎn)。
[0038]2、本算法通過(guò)逆時(shí)針和順時(shí)針求出指針角度然后取平均值的方法大大提高了識(shí)別的精確度。
[0039]以下結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步解釋說(shuō)明。
【專利附圖】

【附圖說(shuō)明】
[0040]圖1是本發(fā)明的方 法的總流程圖。
[0041]圖2本發(fā)明的方法中步驟3裁剪圖像的流程圖。
[0042]圖3本發(fā)明的方法中步驟5查找指針的流程圖。
[0043]圖4本發(fā)明實(shí)施例中的灰度圖像11。
[0044]圖5本發(fā)明實(shí)施例中的裁剪圖像12。
[0045]圖6本發(fā)明實(shí)施例中的二值化處理后的圖像13。
[0046]圖7本發(fā)明實(shí)施例中的指針圖像BI。
[0047]以下結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步解釋說(shuō)明。
【具體實(shí)施方式】
[0048]參見(jiàn)圖1-圖3,本發(fā)明的儀表指針識(shí)別的檢測(cè)算法,具體包括如下步驟:
[0049]步驟1:采集待測(cè)儀表的彩色圖像I ;計(jì)算機(jī)讀取待測(cè)儀表的彩色圖像I ;
[0050]步驟2:對(duì)彩色圖像I進(jìn)行灰度化處理,得到灰度圖像Il ;
[0051]對(duì)彩色圖像I進(jìn)行灰度化采用分量法、最大值法、平均值法或者加權(quán)平均法。
[0052]步驟3:對(duì)灰度圖像Il進(jìn)行裁剪,得到裁剪圖像12 ;具體包括如下步驟:
[0053]I)設(shè)灰度圖像Il上的點(diǎn)的位置記為(i,j),1≤i≤a,l≤j≤b,其中a, b為灰度圖像Ii的像素點(diǎn)矩陣的總行數(shù)與總列數(shù);
[0054]2)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離不小于儀表的外徑,則令該像素點(diǎn)的灰度值為為255 ;所述儀表的外徑是指儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑;
[0055]3)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離小于等于儀表的內(nèi)徑,則令該該像素點(diǎn)的灰度值為255 ;所述儀表的內(nèi)徑指儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑;
[0056]4)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離在內(nèi)徑和外徑之間,則該元素的灰度值保持不變;得到裁剪圖像12。
[0057]步驟4:對(duì)裁剪圖像12進(jìn)行二值化處理,得到二值化處理后的圖像13 ;具體包括如下步驟:[0058]I)計(jì)算初始閾值th= (tmin+tmax) /2 ;其中,tmax和tmin是裁剪圖像12像素點(diǎn)的最大灰度值和最小灰度值。
[0059]2)將12圖像分割為灰度值大于初始閾值th的圖像區(qū)域Gl和灰度值小于等于初始閾值th的圖像區(qū)域G2。
[0060]3)分別計(jì)算圖像區(qū)域Gl和圖像區(qū)域G2包含的像素的灰度均值ul和u2。
[0061]4)計(jì)算新的閾值 th=(ul+u2)/2。
[0062]5)重復(fù)步驟2)、3)、4),直到連續(xù)兩次計(jì)算得到的閾值th的差值的絕對(duì)值小于I。
[0063]6)如果裁剪圖像12上任意像素點(diǎn)的灰度值大于步驟5最終得到的閾值th,則給該像素點(diǎn)的灰度值賦值255 ;否則賦值0,得到二值化處理后的圖像13。
[0064]步驟5:對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI ;
[0065]所述步驟5的對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI具體包括如下步驟:
[0066]I)首先將二值化處理后的圖像13中的儀表表盤(pán)等分成400等份,每一份為一個(gè)圓心角極小的扇形,這些扇形均可近似成線,掃描從以表盤(pán)的中心為原點(diǎn)的X軸的正方向開(kāi)始。
[0067]2)在儀表表盤(pán)部分找出11到12之間黑色像素點(diǎn)(即像素點(diǎn)的灰度值為O的點(diǎn))最多的一個(gè)扇形。其中,hi代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑,h2代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑。具體操作如下:
[0068]首先逆時(shí)針尋找,設(shè)點(diǎn)(X,y)是逆時(shí)針旋轉(zhuǎn)到某一個(gè)扇形位置時(shí)位于hi和h2之間的點(diǎn),其坐標(biāo)x=xQ+r*cos (dl), y=y0-r*sin(dl),其中,r為該點(diǎn)所在位置到儀表表盤(pán)中心的距離,它是以hi為初始值,以步長(zhǎng)I掃描,以h2為結(jié)束值的一變化值;dl為所檢測(cè)的扇形的位置相對(duì)于X軸的正方向的逆時(shí)針旋轉(zhuǎn)角度,從水平方向開(kāi)始,以0.005*pi的步長(zhǎng)掃描,到2*pi結(jié)束;X(1、y(l分別為儀表中心的橫坐標(biāo)和縱坐標(biāo)。
[0069]3)對(duì)于步驟2)中的每一步所到達(dá)的扇形區(qū)域(即對(duì)于每一個(gè)固定的dl),判斷不同r值對(duì)應(yīng)的像素點(diǎn)是否為黑色像素點(diǎn),對(duì)于每一個(gè)已定的dl和r,把X和y的坐標(biāo)取整分別賦值給j(j為某點(diǎn)所處位置的列)和i(i為某點(diǎn)所處位置的行),如果13 (i,j)=0或者 13 (i+1,j+l)=0 或者 13 (1-1,j-l)=0 或者 13 (i,j_l) =0 或者 13 (i,j+l)=0 或者
13(1-1, j) =0 或者 13 (i+1, j) =0 或者 13 (i_l, j+1) =0 或者 13 (i+1, j_l) =0),則認(rèn)為該像素點(diǎn)為要找的像素點(diǎn),將其對(duì)應(yīng)的扇形區(qū)域中的黑色像素點(diǎn)個(gè)數(shù)sum加I ;如此逆時(shí)針旋轉(zhuǎn)一周,把每個(gè)扇形區(qū)域的黑色像素點(diǎn)個(gè)數(shù)分別賦給矩陣Al (Al為一 1*400的一維矩陣),然后尋找矩陣Al中最大元素對(duì)應(yīng)的扇形位置,矩陣Al中的列序號(hào)coll反映該扇形區(qū)域在儀表中的位置,然后根據(jù)序號(hào)coll計(jì)算角度d3=2*pi/400*coll,400表示儀表等分的份數(shù);coll為Al中最大元素對(duì)應(yīng)的列序號(hào);d3為逆時(shí)針掃描得到的指針角度。
[0070]4)按照步驟2)和步驟3)相同的方式,從X軸正方向開(kāi)始,順時(shí)針旋轉(zhuǎn)到指針位置得到角度d4,計(jì)算順時(shí)針查找出的指針的角度d5=2 -d4 ;然后計(jì)算角度d3和角度d5的平均值作為最終的指針角度d。
[0071]5)定義一個(gè)全O (即純黑)圖像矩陣BI,設(shè)(i,j)為二值化圖像13上的任一像素點(diǎn)的位置,將到圓心的距離大于外徑11和小于內(nèi)徑12的像素點(diǎn)的灰度值賦值255。然后將指針角度d對(duì)應(yīng)的指針位置上的所有像素點(diǎn)的灰度值賦值255,即得指針圖像BI。
[0072]步驟6:由直線擬合求出起始刻度線的斜率k,根據(jù)步驟5中的指針偏轉(zhuǎn)角度d以及斜率k得到指針的讀數(shù);返回步驟I。
[0073]步驟6具體包括如下步驟:
[0074]I)已知儀表的起始刻度線上的某點(diǎn)坐標(biāo)與儀表表盤(pán)圓心坐標(biāo),將它們進(jìn)行直線擬合求出起始刻度線的斜率,由該斜率算出其傾斜角Q ;
[0075]2)根據(jù)指針角度d得出指針位于掃描的扇形區(qū)域序號(hào)col ;
[0076]3)若 0〈=col〈300,則指針讀數(shù) y=w+(p1-d+Q)*D ;若 300〈=col〈400,則指針讀數(shù)y=w+ (pi+Q+2*p1-d) *D,其中,d為指針的角度,D為儀表的每一扇形代表的讀數(shù),D=0.2115,w為起始刻度線的值。
[0077]以下是發(fā)明人給出的實(shí)施例,本發(fā)明的算法的保護(hù)范圍不限于該實(shí)施例。
[0078]實(shí)施例:
[0079]步驟1:采集待測(cè)儀表(氣體壓力表)的彩色圖像I,已知該儀表的圓心坐標(biāo)為(x0, yO)=(862, 524),外徑11=399,內(nèi)徑12=301。注意拍攝的時(shí)候盡量將儀表放正;
[0080]步驟2:采用Matlab工具箱的rgb2gray ()函數(shù)對(duì)彩色圖像I進(jìn)行灰度化處理,得到灰度圖像II,如圖4所示;
[0081]步驟3:如圖2所示,采用距離比較的方法對(duì)灰度圖像Il進(jìn)行裁剪,得到裁剪后儀表和指針的裁剪圖像12,如圖5所示;具體步驟如下:
[0082]I)設(shè)圖像上的點(diǎn)的位置為(i,j)范圍是I≤i≤a,l≤j≤b,其中[a, b]為圖像Il的像素點(diǎn)矩陣。
[0083]2)如果點(diǎn)到儀表圓心的距離大于等于儀表外徑399,則給該元素賦值為255 ;
[0084]3)如果點(diǎn)到儀表圓心的距離小于等于儀表內(nèi)徑301,則給該元素賦值為255 ;
[0085]4)如果點(diǎn)到儀表圓心的距離在內(nèi)徑和外徑之間,則該元素的值保持不變,如此便可得到裁剪的圖像12。
[0086]步驟4:對(duì)裁剪后的圖像進(jìn)行二值化處理,和閾值60 (此閾值為由之前介紹過(guò)的閾值分割方法所得到的)作比較,如果12中元素的像素值大于60,則把255賦值給13,否則便把O賦值給13,如此便得到二值化處理后的圖像13,如圖6所示;
[0087]步驟5:對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針的偏轉(zhuǎn)角度d,提取出指針圖像BI,如圖7所示;
[0088]如圖3所示,對(duì)二值化處理后的圖像13進(jìn)行查找指針,具體包括如下步驟:
[0089]I)首先將儀表表盤(pán)分割成400等份的小扇形,掃描位置從以表盤(pán)的中心為原點(diǎn)的X軸的正方向開(kāi)始。
[0090]2)在表盤(pán)部分找hi到h2之間黑色像素點(diǎn)最多的一個(gè)角度。其中,hi是儀表標(biāo)有刻度的圈環(huán)區(qū)域的外圓的半徑,h2是儀表標(biāo)有刻度的圈環(huán)區(qū)域的內(nèi)圓的半徑。首先逆時(shí)針尋找,設(shè)點(diǎn)(x,y)是逆時(shí)針旋轉(zhuǎn)某一個(gè)角度(該角度是按步驟I)中所述的分為400等份的小扇形,逐個(gè)角度掃描的)時(shí)表盤(pán)中位于hi到h2圓環(huán)上的點(diǎn),則其坐標(biāo)為(x0+h*cos (dl),y0_h*sin(dl)),其中h為該點(diǎn)所在位置到圓心(儀表表盤(pán)中心)的距離,在對(duì)某一個(gè)角度進(jìn)行黑色像素的個(gè)數(shù)統(tǒng)計(jì)時(shí),h是從h2逐步增加到hi的且增加的步長(zhǎng)為
I。dl為逆時(shí)針旋轉(zhuǎn)時(shí)某一時(shí)刻的旋轉(zhuǎn)角度。x0為儀表中心的橫坐標(biāo),yO為儀表中心的縱坐標(biāo)。
[0091]3)對(duì)于上述步驟中的每一個(gè)取定的h,把X和y的坐標(biāo)取整,然后分別賦值給j (j為某點(diǎn)所處位置的列)和i(i為某點(diǎn)所處位置的行)。如果13 (i,j)=0或者13 (i+1,j+1) =0 或者 13 (1-1, j-l)=0 或者 13 (i,j-l)=0 或者 13 (i,j+1) =0 或者 13 (1-1, j)=0或者13 (i+1, j) =0或者13 (1-1, j+1) =0或者13 (i+1, j_l) =0,貝U認(rèn)為該元素即為要找的點(diǎn),臨時(shí)存儲(chǔ)這一個(gè)角度上的黑色元素的個(gè)數(shù)的存儲(chǔ)單元sum就加I。如此尋找一周,便可得到黑色像素點(diǎn)最多的一個(gè)角度亦即逆時(shí)針查找出的指針的角度記為d3,本實(shí)施例中 d3=l.9321。
[0092]4)按照步驟2)和步驟3)的方法再順時(shí)針旋轉(zhuǎn)一周又得到一個(gè)角度d4=4.3825,然后用(2 -d4)便可得到順時(shí)針查找出的指針的角度記為d5=l.9007,最終指針的角度d即為d3和d5的平均值。本實(shí)施例中d=l.9164
[0093]5)把圖像矩陣賦值為全O矩陣,設(shè)(i,j)為圖像上的點(diǎn)坐標(biāo),根據(jù)指針的角度d即可找到指針的準(zhǔn)確位置,然后將指針上的所有點(diǎn)賦值為255。得到指針位置圖像BI。
[0094]步驟6:由直線擬合求出起始刻度線的斜率k,本實(shí)施例中的儀表是指氣體壓力表,其起始刻度線-0.1刻度線;為根據(jù)步驟5中的偏轉(zhuǎn)角度d以及k再經(jīng)過(guò)相應(yīng)的數(shù)學(xué)計(jì)算便可得出指針的讀數(shù)。具體包括如下步驟:
[0095]I)已知-0.1刻度線上的某點(diǎn)坐標(biāo)(576,801)與圓心坐標(biāo)(862,524)進(jìn)行直線擬合求出-0.1刻度線的斜率,由該斜率算出其傾斜角,記為Q=0.7694 ;
[0096]2)根據(jù)上述計(jì)算得到的指針的角度d便可得出指針?biāo)诓糠质菑膾呙栉恢瞄_(kāi)始的第幾個(gè)等份,記為col,本實(shí)施例中col=122.0000 ;
[0097]3)若 0〈=col〈300,則指針讀數(shù)計(jì)算公式為 y=_0.l+(pi_d+Q)*D 若 300〈=col〈400,則指針讀數(shù)為y=_0.l+(pi+Q+2*p1-d)*D,其中d為指針的角度,D為儀表的每一弧度代表的讀數(shù),為0.2115是個(gè)固定值。
[0098]4)在本實(shí)施例中,計(jì)算得到的col=122,由于0=〈122〈300,故選用指針讀數(shù)計(jì)算公式為y=-0.l+(pi_d+Q)*D,根據(jù)上述可得出指針讀數(shù)y=0.3219。
【權(quán)利要求】
1.一種儀表指針識(shí)別的檢測(cè)算法,其特征在于,具體包括如下步驟: 步驟1:采集待測(cè)儀表的彩色圖像I;計(jì)算機(jī)讀取待測(cè)儀表的彩色圖像I; 步驟2:對(duì)彩色圖像I進(jìn)行灰度化處理,得到灰度圖像Il ; 步驟3:對(duì)灰度圖像Il進(jìn)行裁剪,得到裁剪圖像12 ; 步驟4:對(duì)裁剪圖像12進(jìn)行二值化處理,得到二值化處理后的圖像13 ; 步驟5:對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI ; 步驟6:由直線擬合求出起始刻度線的斜率k,根據(jù)步驟5中的指針偏轉(zhuǎn)角度d以及斜率k得到指針的讀數(shù);返回步驟I。
2.如權(quán)利要求1所述的儀表指針識(shí)別的檢測(cè)算法,其特征在于,所述步驟2中對(duì)彩色圖像I進(jìn)行灰度化采用分量法、最大值法、平均值法或者加權(quán)平均法。
3.如權(quán)利要求1所述的儀表指針識(shí)別的檢測(cè)算法,其特征在于,所述步驟3中對(duì)灰度圖像Il進(jìn)行裁剪得到裁剪圖像12,具體包括如下步驟: 1)設(shè)灰度圖像Il上的點(diǎn)的位置記為(i,j),I≤i≤a,l≤j≤b,其中a,b為灰度圖像Il的像素點(diǎn)矩陣的總行數(shù)與總列數(shù); 2)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離不小于儀表的外徑,則令該像素點(diǎn)的灰度值為255,所述儀表的外徑是指儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑; 3)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離小于等于儀表的內(nèi)徑,則令該該像素點(diǎn)的灰度值為255,所述儀表的內(nèi)徑指儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑; 4)如果灰度圖1l上的任一像素點(diǎn)到儀表圓心的距離在內(nèi)徑和外徑之間,則該元素的灰度值保持不變;得到裁剪圖像12。
4.如權(quán)利要求1所述的儀表指針識(shí)別的檢測(cè)算法,其特征在于,所述步驟4中對(duì)裁剪圖像12進(jìn)行二值化處理具體包括如下步驟: 1)計(jì)算初始閾值th=(tmin+tmax) /2 ;其中,tmax和tmin是裁剪圖像12像素點(diǎn)的最大灰度值和最小灰度值。 2)將12圖像分割為灰度值大于初始閾值th的圖像區(qū)域Gl和灰度值小于等于初始閾值th的圖像區(qū)域G2。 3)分別計(jì)算圖像區(qū)域Gl和圖像區(qū)域G2包含的像素的灰度均值Ul和u2。 4)計(jì)算新的閾值th=(ul+u2)/2; 5)重復(fù)步驟2)、3)、4),直到連續(xù)兩次計(jì)算得到的閾值th的差值的絕對(duì)值小于I; 6)如果裁剪圖像12上任意像素點(diǎn)的灰度值大于步驟5最終得到的閾值th,則給該像素點(diǎn)的灰度值賦值255 ;否則賦值O,得到二值化處理后的圖像13。
5.如權(quán)利要求1所述的儀表指針識(shí)別的檢測(cè)算法,其特征在于,所述步驟5的對(duì)二值化處理后的圖像13進(jìn)行指針查找,求出指針偏轉(zhuǎn)角度d,提取指針圖像BI具體包括如下步驟: 1)首先將二值化處理后的圖像13中的儀表表盤(pán)等分成400等份,每一份為一個(gè)圓心角極小的扇形,這些扇形均可近似成線,掃描從以表盤(pán)的中心為原點(diǎn)的X軸的正方向開(kāi)始。 2)在儀表表盤(pán)部分找出hi到h2之間黑色像素點(diǎn)最多的一個(gè)扇形;其中,hi代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的外圓半徑,h2代表儀表標(biāo)有刻度的環(huán)狀區(qū)域的內(nèi)圓半徑;具體操作如下: 首先逆時(shí)針尋找,設(shè)點(diǎn)(X,y)是逆時(shí)針旋轉(zhuǎn)到某一個(gè)扇形初始位置時(shí)位于hi和h2之間的點(diǎn),其坐標(biāo)x=xQ+r*cos (dl), y=y0-r*sin(dl),其中,r為該點(diǎn)所在位置到儀表表盤(pán)中心的距離,它是以hi為初始值,以步長(zhǎng)I掃描,以h2為結(jié)束值的一變化值;dl為所檢測(cè)的扇形的初始位置相對(duì)于X軸的正方向的逆時(shí)針旋轉(zhuǎn)角度,從水平方向開(kāi)始,以0.005*pi的步長(zhǎng)掃描,到2*pi結(jié)束;X(1、y0分別為儀表中心的橫坐標(biāo)和縱坐標(biāo); 3)對(duì)于步驟2)中的每一步所到達(dá)的扇形區(qū)域,判斷不同r值對(duì)應(yīng)的像素點(diǎn)是否為黑色像素點(diǎn),如果是,則認(rèn)為該像素點(diǎn)為要找的像素點(diǎn),將其對(duì)應(yīng)的扇形區(qū)域中的黑色像素點(diǎn)個(gè)數(shù)sum加I ;如此逆時(shí)針旋轉(zhuǎn)一周,把每個(gè)扇形區(qū)域的黑色像素點(diǎn)個(gè)數(shù)分別賦給矩陣Al,然后尋找矩陣Al中最大元素對(duì)應(yīng)的扇形位置,矩陣Al中的列序號(hào)coll反映該扇形區(qū)域在儀表中的位置,然后根據(jù)序號(hào)coll計(jì)算角度d3=2*pi/400*coll,400表示儀表等分的份數(shù);coll為Al中最大元素對(duì)應(yīng)的列序號(hào);d3為逆時(shí)針掃描得到的指針角度; 4)按照步驟2)和步驟3)相同的方式,從X軸正方向開(kāi)始,順時(shí)針旋轉(zhuǎn)到指針位置得到角度d4,計(jì)算順時(shí)針查找出的指針的角度d5=2 -d4 ;然后計(jì)算角度d3和角度d5的平均值作為最終的指針角度d ; 5)定義一個(gè)全O圖像矩陣BI,設(shè)(i,j)為二值化圖像13上的任一像素點(diǎn)的位置,將到圓心的距離大于外徑hi和小于內(nèi)徑h2的像素點(diǎn)的灰度值賦值255。然后將指針角度d對(duì)應(yīng)的指針位置上的所有像素點(diǎn)的灰度值賦值255,即得指針圖像BI。
6.如權(quán)利要求1 所述的儀表指針識(shí)別的檢測(cè)算法,其特征在于,所述步驟6中指針讀數(shù)的算法具體包括如下步驟: O已知起始刻度線上的某點(diǎn)坐標(biāo)與儀表表盤(pán)圓心坐標(biāo),將它們進(jìn)行直線擬合求出起始刻度線的斜率,由該斜率算出其傾斜角Q ; 2)根據(jù)指針角度d得出指針位于掃描的扇形區(qū)域序號(hào)col; 3)若0〈=col〈300,則指針讀數(shù) y=w+(p1-d+Q)*D ;若 300〈=col〈400,則指針讀數(shù)y=w+(pi+Q+2*p1-d)*D,其中,d為指針的角度;D為儀表的每一扇形代表的讀數(shù),D=0.2115 ;w為起始刻度線的值。
【文檔編號(hào)】G06K9/00GK103714329SQ201310752723
【公開(kāi)日】2014年4月9日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】李偉, 趙海偉, 劉玉娥, 任娜娜, 姚瀟瀟 申請(qǐng)人:長(zhǎng)安大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
灌云县| 赫章县| 阿合奇县| 中牟县| 潮安县| 佳木斯市| 湖口县| 西畴县| 灌南县| 惠东县| 拜泉县| 定南县| 石泉县| 十堰市| 黄石市| 正蓝旗| 手游| 夏津县| 松溪县| 龙泉市| 额尔古纳市| 锡林郭勒盟| 竹山县| 博乐市| 泸溪县| 吴忠市| 宁明县| 图们市| 芦溪县| 嘉峪关市| 安化县| 江达县| 牟定县| 竹北市| 天津市| 邵武市| 富源县| 汪清县| 定日县| 黄大仙区| 秭归县|