本申請涉及傳感技術(shù)領(lǐng)域,特別涉及一種視覺傳感方法及視覺傳感器。
背景技術(shù):
傳感技術(shù)能夠通過各類傳感器,獲取各種物理量、化學(xué)量或生物量的信息。獲取到這些信息后,可以通過后期的信息處理技術(shù),從這些信息中提取所需的特征,并基于這些提取的特征進(jìn)行辨識、比較、分類以及判斷等一系列操作。傳感技術(shù)的發(fā)展推動了工業(yè)界自動化程度的提高。
在各種各樣的傳感技術(shù)中,視覺傳感技術(shù)由于其適用性廣、技術(shù)原理成熟等優(yōu)點(diǎn)正逐步被應(yīng)用至工業(yè)界的產(chǎn)品辨識過程中。在工業(yè)界的產(chǎn)品流水線上,往往需要辨識到達(dá)指定位置上的產(chǎn)品是否為生產(chǎn)所需的產(chǎn)品。如果是生產(chǎn)所需的產(chǎn)品,則可以進(jìn)行后續(xù)的加工流程;如果不是生產(chǎn)所需的產(chǎn)品,則需要繼續(xù)等待后續(xù)產(chǎn)品的到來。
目前常用的視覺傳感器可以分為兩種:一種是光電傳感器,一種是經(jīng)典視覺傳感器。圖1為現(xiàn)有技術(shù)中光電傳感器的工作原理示意圖。如圖1所示,所述光電傳感器由激光器、光纖、光檢測器以及信號處理單元組成。激光器可以自行發(fā)射光纖,在待檢測產(chǎn)品上形成反射光,并對該反射光進(jìn)行后續(xù)的信號處理,從而可以判定待檢測產(chǎn)品是否已經(jīng)到達(dá)指定位置。然而這種傳感器在檢測產(chǎn)品時,一旦產(chǎn)品有少量傾斜,則會造成反射光功率的大幅度降低,從而導(dǎo)致感應(yīng)出錯,使用起來及其不便。
現(xiàn)有技術(shù)中的經(jīng)典視覺傳感器可以預(yù)先通過信號采集,得到觸發(fā)信號。在得到觸發(fā)信號后通過鏡頭對待檢測產(chǎn)品進(jìn)行拍攝,然后可以對拍攝后的圖像進(jìn)行運(yùn)算,從而判定到檢測的產(chǎn)品是否為所需的產(chǎn)品。然而這種傳感器設(shè)計(jì)的復(fù)雜度相當(dāng)高,并且需要經(jīng)過專業(yè)的培訓(xùn)才能正常使用,同樣在使用時會帶來許多不便。
應(yīng)該注意,上面對技術(shù)背景的介紹只是為了方便對本申請的技術(shù)方案進(jìn)行清楚、完整的說明,并方便本領(lǐng)域技術(shù)人員的理解而闡述的。不能僅僅因?yàn)檫@些方案在本申請的背景技術(shù)部分進(jìn)行了闡述而認(rèn)為上述技術(shù)方案為本領(lǐng)域技術(shù)人員所公知。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例的目的在于提供一種視覺傳感方法及視覺傳感器,以方便地對待檢測產(chǎn)品進(jìn)行檢測。
本申請實(shí)施例提供的一種視覺傳感方法及視覺傳感器是這樣實(shí)現(xiàn)的:
一種視覺傳感方法,所述方法包括:
按照預(yù)設(shè)周期采集待檢測產(chǎn)品的圖像;
將所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像進(jìn)行對比,得到所述待檢測產(chǎn)品的圖像與所述標(biāo)準(zhǔn)圖像的相似度;
當(dāng)所述相似度達(dá)到預(yù)設(shè)第一閾值時,輸出感應(yīng)信號。
優(yōu)選地,所述將所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像進(jìn)行對比,得到所述待檢測產(chǎn)品的圖像與所述標(biāo)準(zhǔn)圖像的相似度具體包括:
將所述待檢測產(chǎn)品圖像的分辨率設(shè)置為與所述標(biāo)準(zhǔn)圖像的分辨率相同的分辨率;
提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量;
將所述第一像素值向量與所述標(biāo)準(zhǔn)圖像的第二像素值向量進(jìn)行對比,得到第一像素值向量與第二像素值向量的相似度。
優(yōu)選地,所述提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量具體包括:
提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的RGB值;
將提取的RGB值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
優(yōu)選地,所述提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量具體包括:
提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的灰度值;
將提取的灰度值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
優(yōu)選地,所述將所述第一像素值向量與所述標(biāo)準(zhǔn)圖像的第二像素值向量進(jìn)行對比,得到第一像素值向量與第二像素值向量的相似度具體包括:
逐個對比所述第一像素值向量與第二像素值向量中對應(yīng)位置處的像素值,當(dāng)兩個像素值的差異不高于預(yù)設(shè)閾值時,判定兩個像素值相同;
記錄第一像素值向量與第二像素值向量中像素值相同的個數(shù);
計(jì)算所述像素值相同的個數(shù)占所有像素值個數(shù)的比重值。
優(yōu)選地,在所述按照預(yù)設(shè)周期采集待檢測產(chǎn)品的圖像之前,所述方法還包括:
調(diào)整視覺傳感器中小型相機(jī)的拍攝亮度。
一種視覺傳感器,包括小型相機(jī),信號處理單元以及信號輸出單元,其特征在于,所述小型相機(jī)用來按照預(yù)設(shè)周期采集待檢測產(chǎn)品的圖像;
所述信號處理單元用來將所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像進(jìn)行對比,得到所述待檢測產(chǎn)品的圖像與所述標(biāo)準(zhǔn)圖像的相似度;
所述信號輸出單元用來當(dāng)所述相似度達(dá)到預(yù)設(shè)第一閾值時,輸出感應(yīng)信號。
優(yōu)選地,所述信號處理單元具體包括:
分辨率設(shè)置模塊,用來將所述待檢測產(chǎn)品圖像的分辨率設(shè)置為與所述標(biāo)準(zhǔn)圖像的分辨率相同的分辨率;
像素值向量提取模塊,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量;
相似度獲取模塊,用來將所述第一像素值向量與所述標(biāo)準(zhǔn)圖像的第二像素值向量進(jìn)行對比,得到第一像素值向量與第二像素值向量的相似度。
優(yōu)選地,所述像素值向量提取模塊具體包括:
RGB值提取模塊,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的RGB值;
像素值向量第一構(gòu)成模塊,用來將提取的RGB值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
優(yōu)選地,所述像素值向量提取模塊具體包括:
灰度值提取模塊,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的灰度值;
像素值向量第二構(gòu)成模塊,用來將提取的灰度值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
本申請實(shí)施例提供的一種視覺傳感方法及視覺傳感器,通過小型相機(jī)定期采集待檢測產(chǎn)品的圖像,并將該采集的圖像與存儲于其中的標(biāo)準(zhǔn)圖像進(jìn)行對比,從而判定待檢測產(chǎn)品是否為所需的產(chǎn)品。本申請實(shí)施例提供的一種視覺傳感方法及視覺傳感器在實(shí)際應(yīng)用中,無需生成觸發(fā)信號,并且設(shè)計(jì)也比較簡便,方便普通的技術(shù)員工使用。
附圖說明
圖1為現(xiàn)有技術(shù)中光電傳感器的工作原理示意圖;
圖2為本申請實(shí)施例提供的一種視覺傳感方法的流程圖;
圖3為本申請實(shí)施例提供的一種視覺傳感器的功能模塊圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
圖2為本申請實(shí)施例提供的一種視覺傳感方法的流程圖。雖然下文描述流程包括以特定順序出現(xiàn)的多個操作,但是應(yīng)該清楚了解,這些過程可以包括更多或更少的操作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。如圖2所示,所述方法可以 包括:
S1:按照預(yù)設(shè)周期采集待檢測產(chǎn)品的圖像。
在使用本申請?zhí)峁┑囊曈X傳感器時,首先可以將該視覺傳感器固定好,方向?qū)?zhǔn)待檢測產(chǎn)品。然后可以預(yù)先設(shè)置一采集周期,并按照預(yù)設(shè)的周期采集待檢測產(chǎn)品的圖像。具體地,本申請實(shí)施例中可以5秒/次的周期,利用本申請視覺傳感器上的小型相機(jī)拍攝待檢測產(chǎn)品的圖像。拍攝后的圖像可以被存儲于視覺傳感器的內(nèi)存中。在本申請一優(yōu)選實(shí)施例中,在拍攝待檢測產(chǎn)品的圖像之前,還可以調(diào)整所述小型相機(jī)的拍攝亮度,從而可以采集質(zhì)量更好的待檢測產(chǎn)品的圖像。
S2:將所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像進(jìn)行對比,得到所述待檢測產(chǎn)品的圖像與所述標(biāo)準(zhǔn)圖像的相似度。
在本申請實(shí)施例中,可以在所述視覺傳感器中存儲待檢測產(chǎn)品的標(biāo)準(zhǔn)圖像。該標(biāo)準(zhǔn)圖像可以BMP的格式存儲于所述視覺傳感器的內(nèi)部存儲器中。當(dāng)所述視覺傳感器采集到待檢測產(chǎn)品的圖像后,可以將該圖像與所述標(biāo)準(zhǔn)圖像進(jìn)行對比。在本申請一實(shí)施例中,可以通過下述三個步驟實(shí)現(xiàn)所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像的對比:
S201:將所述待檢測產(chǎn)品圖像的分辨率設(shè)置為與所述標(biāo)準(zhǔn)圖像的分辨率相同的分辨率。
為了便于后續(xù)的對比處理,本申請實(shí)施例可以首先將所述待檢測產(chǎn)品圖像的分辨率設(shè)置為與所述標(biāo)準(zhǔn)圖像的分辨率相同的分辨率。具體地,所述標(biāo)準(zhǔn)圖像的分辨率可以是人為預(yù)先設(shè)定的,也可以是視覺傳感器讀取所述標(biāo)準(zhǔn)圖像后獲得的,本申請對此并不做限定。視覺傳感器采集到所述待檢測產(chǎn)品的圖像后,可以根據(jù)所述標(biāo)準(zhǔn)圖像的分辨率對所述待檢測產(chǎn)品圖像的分辨率重新設(shè)定。具體地可以通過視覺傳感器內(nèi)部集成的圖像處理軟件或者與視覺傳感器相連通的PC機(jī)內(nèi)的圖形處理軟件重新設(shè)定所述待檢測產(chǎn)品圖像的分辨率,以保證所述待檢測產(chǎn)品圖像與所述標(biāo)準(zhǔn)圖像具有相同的分辨率。
S202:提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
一幅彩色圖片一般由多個像素組成后體現(xiàn)。例如,顯示器上顯示的圖片,是通過顯示器屏幕上每個能夠顯示不同色彩的發(fā)光元件通電后的顯示功能,最終使得屏幕上眾多這樣的發(fā)光元件組合起來還原顯示出圖片。當(dāng)顯示器屏幕顯示的圖片是原始分辨率時,顯示器屏幕上用于顯示的圖片的每一元件對應(yīng)圖片上的每一像素。
上面提到的每個發(fā)光元件通電后顯示的色彩,取決于圖片中對應(yīng)像素的RGB值。RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對紅(Red,R)、綠(Green,G)、藍(lán)(Blue,B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個通道的顏色,也成為三原色。這個色彩模式幾乎包括了人類視力所能感知的所有顏色, 是目前運(yùn)用最廣的顏色系統(tǒng)之一。常用的一種RGB標(biāo)準(zhǔn)中,R、G、B每個顏色的量用0-255之間的1個十進(jìn)制數(shù)表示(對應(yīng)二進(jìn)制數(shù)00000000~11111111)。另外一種網(wǎng)頁中常用的RGB標(biāo)準(zhǔn)中,將一個像素的RGB值用一個6位的十六進(jìn)制數(shù)標(biāo)識,如#000000的形式。本領(lǐng)域技術(shù)人員容易知道,一個像素的RGB色彩每個顏色的量用0-255之間的1個十進(jìn)制數(shù)標(biāo)識,可以轉(zhuǎn)換為用一個6位的十六進(jìn)制數(shù)表示,即存在不同表示方式中存在一一對應(yīng)關(guān)系??傮w來說,這些標(biāo)準(zhǔn)中的對應(yīng)份數(shù)的紅色(R)、綠色(G)和藍(lán)色(B)混合后得到該像素的最終顯示顏色。
進(jìn)而,提取所述圖片中每個像素的RGB值,并將提取的RGB值按照一定順序排序,例如按照像素編號排序,從而可以構(gòu)成該圖片的像素值向量。
例如,某幅彩色圖片具有200*120(也稱為分辨率)的像素。每個像素的RGB如下標(biāo)識:
RGB(m,n)=Ra,Gb,Bc
其中,m、n分別表示圖片中某一像素所處的行和列;m的取值范圍為1至200,n的取值范圍為1至120。Ra,Gb,Bc為0-255中的任一整數(shù)。
或者,RGB(m,n)=#OPQRST
其中,m的取值范圍為1至200,n的取值范圍為1至120,O、P、Q、R、S、T為0-F的任一16進(jìn)制取值。
提取每個像素的特征值,即將每個像素的上述RGB值提取出來。例如,對于該圖片中第(m,n)個像素,提取其RGB值,即上述的(Ra,Gb,Bc)或#OPQRST。
將該圖片中每個像素點(diǎn)提取出的特征值按照順序排列可以構(gòu)成像素值向量。例如,排列后構(gòu)成的像素值向量如下面形式的一系列排列的數(shù)值:
(RGB(1,1),RGB(1,2),…,RGB(1,120),RGB(2,1),RGB(2,2),…,RGB(2,120),…,RGB(200,1),RGB(200,2),…RGB(200,120)) 式1
上述式1即為該圖片的像素值向量。
本申請實(shí)施例可以通過上述方法提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
另外,對于黑白圖片而言,一幅灰度顯示的圖片也可以由多個像素組成后體現(xiàn)。這樣,顯示器上每個發(fā)光元件通電后顯示的灰度色彩,取決于圖片中對應(yīng)像素的RGB值。這時,這類灰度像素的RGB值具有一定規(guī)律。常用的一種標(biāo)準(zhǔn)中,灰度值的R、G、B取值相等。這樣,利用這個標(biāo)準(zhǔn),通??梢詫⒒叶确譃?56級,表示黑白圖像中點(diǎn)的顏色深度。也可以用其它方式來表示灰度值,例如通過1byte的數(shù)據(jù)來表示。這時,這個1byte的數(shù)據(jù)每一位上的取值與RGB值具有一定的對應(yīng)關(guān)系。這樣,提取所述圖片中每個像素的灰度值,并將 提取的灰度值按照像素編號順序排序,也可以得到形如式1的特征值向量。
灰度值與彩色RGB具有一定的對應(yīng)關(guān)系。利用這種對應(yīng)關(guān)系,可以將彩色RGB轉(zhuǎn)換為對應(yīng)的灰度值。下面列舉幾種由RGB三原色值轉(zhuǎn)換得到對應(yīng)灰度值的方法:
(1)浮點(diǎn)算法:Gray=R*0.3+G*0.59+B*0.11
(2)整數(shù)方法:Gray=(R*30+G*59+B*11)/100
(3)移位方法:Gray=(R*77+G*151+B*28)>>8;
(4)平均值法:Gray=(R+G+B)/3;
(5)僅取綠色:Gray=G;
由于灰度值的取值范圍明顯小于RGB的取值范圍,而采用灰度值替代RGB可以降低后續(xù)的計(jì)算復(fù)雜度,并能保證達(dá)到基本相同的識別效果。這樣,在本申請一優(yōu)選實(shí)施例中,可以用像素的灰度值替代彩色RGB值,同樣能夠形成設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
S203:將所述第一像素值向量與所述標(biāo)準(zhǔn)圖像的第二像素值向量進(jìn)行對比,得到第一像素值向量與第二像素值向量的相似度。
本申請實(shí)施例中的所述標(biāo)準(zhǔn)圖像的第二像素值向量同樣可以為根據(jù)步驟S202中的方法進(jìn)行提取,并且提取后的第二像素值向量可以保存在視覺傳感器的內(nèi)部存儲器中,并與所述標(biāo)準(zhǔn)圖像形成一一對應(yīng)的關(guān)系。這里需要說明的是,所述第二像素值向量中的像素值可以存在以RGB值形成以及以灰度值形成兩種形式,并根據(jù)所述第一像素值向量中像素值的形式進(jìn)行相應(yīng)地調(diào)用。即如果第一像素值向量中的像素值是以RGB值形成的,那么在進(jìn)行對比時,可以相應(yīng)調(diào)用以RGB值形成的第二像素值向量;如果第一像素值向量中的像素值是以灰度值形成的,那么在進(jìn)行對比時,可以相應(yīng)調(diào)用以灰度值形成的第二像素值向量。
具體地,本申請實(shí)施例在進(jìn)行對比時,可以逐個對比第一像素值向量與第二像素值向量中對應(yīng)位置處的像素值。例如,待檢測的圖像與標(biāo)準(zhǔn)圖像的分辨率均為200*120,并且均為彩色圖片,第一像素值向量可以表示為:
(RGB(1,1),RGB(1,2),…,RGB(1,120),RGB(2,1),RGB(2,2),…,RGB(2,120),…,RGB(200,1),RGB(200,2),…RGB(200,120)),
第二像素值向量可以表示為:
(rgb(1,1),rgb(1,2),…,rgb(1,120),rgb(2,1),rgb(2,2),…,rgb(2,120),…,rgb(200,1),rgb(200,2),…rgb(200,120))。
那么在進(jìn)行對比時,可以將RGB(1,1)與rgb(1,1)進(jìn)行對比,將RGB(1,2)與rgb(1,2)進(jìn)行對比,…,將RGB(200,120)與rgb(200,120)進(jìn)行對比。當(dāng)對應(yīng)位置處的兩個像素值的差異不高于預(yù)設(shè)的閾值 時,則認(rèn)為兩個像素值相同。最終可以記錄第一像素值向量與第二像素值向量中像素值相同的個數(shù),并計(jì)算像素值相同的個數(shù)占所有像素值個數(shù)的比重值。該比重值即可代表所述的第一像素值向量與第二像素值向量的相似度。
S3:當(dāng)所述相似度達(dá)到預(yù)設(shè)第一閾值時,輸出感應(yīng)信號。
在本申請實(shí)施例中,可以預(yù)先設(shè)置第一閾值,并通過該第一閾值判定所述待檢測的產(chǎn)品是否為所需的產(chǎn)品。具體地,本申請實(shí)施例可以將所述第一閾值設(shè)置為60%,當(dāng)所述相似度達(dá)到60%時,便可以由視覺傳感器中的信號輸出單元輸出感應(yīng)信號,所述感應(yīng)信號可以為GPIO信號。當(dāng)視覺傳感器輸出感應(yīng)信號時,該感應(yīng)信號可以導(dǎo)通發(fā)光二極管,使得發(fā)光二極管發(fā)光,代表待檢測的產(chǎn)品即為所需的產(chǎn)品。當(dāng)所述相似度沒有達(dá)到預(yù)設(shè)第一閾值時,視覺傳感器便不輸出感應(yīng)信號,所述發(fā)光二極管便不會發(fā)光,代表待檢測的產(chǎn)品不是所需的產(chǎn)品或者所需的產(chǎn)品還未到達(dá)指定位置處。
本申請實(shí)施例還提供一種視覺傳感器。圖3為本申請實(shí)施例提供的一種視覺傳感器的功能模塊圖。如圖3所示,所述視覺傳感器包括小型相機(jī)100,信號處理單元200以及信號輸出單元300,其中:
所述小型相機(jī)100用來按照預(yù)設(shè)周期采集待檢測產(chǎn)品的圖像;
所述信號處理單元200用來將所述待檢測產(chǎn)品的圖像與預(yù)存的標(biāo)準(zhǔn)圖像進(jìn)行對比,得到所述待檢測產(chǎn)品的圖像與所述標(biāo)準(zhǔn)圖像的相似度;
所述信號輸出單元300用來當(dāng)所述相似度達(dá)到預(yù)設(shè)第一閾值時,輸出感應(yīng)信號。
具體地,所述小型相機(jī)100可以設(shè)置在所述視覺傳感器的前端,所述信號處理單元200可以作為一個功能模塊集成于所述視覺傳感器中或者作為一個應(yīng)用程序設(shè)置于與所述小型相機(jī)100相連的PC機(jī)中,本申請對此并不做限定。所述信號輸出單元300可以與發(fā)光二極管電路相連,當(dāng)信號輸出單元300輸出感應(yīng)信號時,所述發(fā)光二極管便發(fā)光,代表待檢測的產(chǎn)品即為所需的產(chǎn)品。當(dāng)所述信號輸出單元300不輸出感應(yīng)信號時,所述發(fā)光二極管便不會發(fā)光,代表待檢測的產(chǎn)品不是所需的產(chǎn)品或者所需的產(chǎn)品還未到達(dá)指定位置處。
在本申請一優(yōu)選實(shí)施例中,所述信號處理單元200具體可以包括:
分辨率設(shè)置模塊201,用來將所述待檢測產(chǎn)品圖像的分辨率設(shè)置為與所述標(biāo)準(zhǔn)圖像的分辨率相同的分辨率;
像素值向量提取模塊202,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量;
相似度獲取模塊203,用來將所述第一像素值向量與所述標(biāo)準(zhǔn)圖像的第二像素值向量進(jìn)行對比,得到第一像素值向量與第二像素值向量的相似度。
在本申請另一優(yōu)選實(shí)施例中,所述像素值向量提取模塊202具體包括:
RGB值提取模塊2021,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的RGB值;
像素值向量第一構(gòu)成模塊2022,用來將提取的RGB值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
在本申請另一優(yōu)選實(shí)施例中,可以通過預(yù)設(shè)的規(guī)則將RGB值轉(zhuǎn)化為灰度值,從而減少后續(xù)的對比復(fù)雜程度。具體地,在本申請另一優(yōu)選實(shí)施例中,所述像素值向量提取模塊202具體包括:
灰度值提取模塊2023,用來提取設(shè)置分辨率后的待檢測產(chǎn)品圖像中的每個像素的灰度值;
像素值向量第二構(gòu)成模塊2024,用來將提取的灰度值按照預(yù)設(shè)順序排序,構(gòu)成所述設(shè)置分辨率后的待檢測產(chǎn)品圖像的第一像素值向量。
在本申請另一實(shí)施例中,所述相似度獲取模塊203具體可以包括:
像素值判定模塊2031,用來逐個對比所述第一像素值向量與第二像素值向量中對應(yīng)位置處的像素值,當(dāng)兩個像素值的差異不高于預(yù)設(shè)閾值時,判定兩個像素值相同;
像素值記錄模塊2032,用來記錄第一像素值向量與第二像素值向量中像素值相同的個數(shù);
比重值計(jì)算模塊2033,用來計(jì)算所述像素值相同的個數(shù)占所有像素值個數(shù)的比重值。
其中,所述比重值即可以代表第一像素值向量與第二像素值向量的相似度。
本申請實(shí)施例提供的一種視覺傳感方法及視覺傳感器,通過小型相機(jī)定期采集待檢測產(chǎn)品的圖像,并將該采集的圖像與存儲于其中的標(biāo)準(zhǔn)圖像進(jìn)行對比,從而判定待檢測產(chǎn)品是否為所需的產(chǎn)品。本申請實(shí)施例提供的一種視覺傳感方法及視覺傳感器在實(shí)際應(yīng)用中,無需生成觸發(fā)信號,并且設(shè)計(jì)也比較簡便,方便普通的技術(shù)員工使用。
在20世紀(jì)90年代,對于一個技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計(jì)人員幾乎都通過將改進(jìn)的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進(jìn)就不能用硬件實(shí)體模塊來實(shí)現(xiàn)。例如,可編程邏輯器件(Programmable Logic Device,PLD)(例如現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計(jì)人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片PLD上,而不需要請芯片制造廠商來設(shè)計(jì)和制作專用的集成電路芯片2。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改 用“邏輯編譯器(logic compiler)”軟件來實(shí)現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(Hardware Description Language,HDL),而HDL也并非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog2。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄?shí)現(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存儲器控制器還可以被實(shí)現(xiàn)為存儲器的控制邏輯的一部分。
本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實(shí)現(xiàn)。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實(shí)施例或者實(shí)施例的某些部分所 述的方法。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
本申請可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
本申請可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
雖然通過實(shí)施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。