實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)_第1頁
實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)_第2頁
實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)_第3頁
實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)_第4頁
實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)一自動讀出儀表指示的讀數(shù)一、實(shí)驗(yàn)內(nèi)容對于給定的儀表,自動讀出儀表指示的讀數(shù),要求選取合適的圖像處理與識別方法,寫出實(shí)驗(yàn)步驟以及處理過程。圖一 儀表圖2、 實(shí)驗(yàn)意義指針式儀表是目前生產(chǎn)過程中應(yīng)用非常普遍的測量儀表之一,不僅種類多,而且生產(chǎn)的數(shù)量大。如:百分表、千分表、壓力表、汽車儀表、航空儀表等等。這些精密測量儀器在我國工業(yè)生產(chǎn)中發(fā)揮著舉足輕重的作用。儀表生產(chǎn)企業(yè)和計量檢定部門,需要在生產(chǎn)和使用過程中對百分表和千分表的示值誤差進(jìn)行定期檢定,以檢測儀表是否滿足生產(chǎn)要求和國家檢測局的規(guī)定準(zhǔn)確度,以判斷是否合格。到目前為止,傳統(tǒng)的檢測機(jī)構(gòu)對這類儀表的檢定方法,主要是采用組合不同長度的標(biāo)準(zhǔn)量塊組為尺

2、度基準(zhǔn),或采用具有刻度的高精度微機(jī)構(gòu)為長度基準(zhǔn),然后用人工觀測、記錄、分析儀表盤的示值讀數(shù)。這種檢定方法存在的問題是1、人工目測示值讀數(shù)的精度低,可靠性差,重復(fù)性差;2、檢定人員勞動強(qiáng)度大,檢定時間長,工作效率低;3、只能進(jìn)行有限位置上的定點(diǎn)的檢測,靈活性和通用性差。4、手工計算效率低,而且一次只能給出單點(diǎn)的誤差值,無法得到完整的誤差分析。因此,針對我國目前所普遍采用的傳統(tǒng)檢定方法,盡快研制出一種能夠快速、準(zhǔn)確、穩(wěn)定的全自動指針式儀表的自動檢定系統(tǒng),將對我國的儀表生產(chǎn)和檢定起到巨大的推動作用。數(shù)字圖像處理技術(shù)(Digital Image Processing Techn0109y)是一門通過數(shù)

3、字化的方法利用計算機(jī)對圖像進(jìn)行處理(包括圖像的輸入、輸出,圖像的增強(qiáng)、調(diào)整、變換,圖像的特征提取,圖像的分析與識別等)的新技術(shù)。通常所說的數(shù)字圖像處理是指計算機(jī)進(jìn)行的處理,因此也稱為計算機(jī)圖像處理(conlputer Image Processing)。數(shù)字圖像處理研究的主要內(nèi)容包括:(1)圖像變換由于圖像陣列很大,直接在空間域中進(jìn)行處理,涉及計算量很大,因此,往往采用各種圖像變換的方法(如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術(shù))將空間域的處理轉(zhuǎn)換為變換域的處理。圖像變換不僅可減少計算量,而且可使圖像獲得更有效的處理(如傅立葉變換可在頻域中進(jìn)行數(shù)字濾波處理1。目前新興研究的小波變換

4、在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有著廣泛而有效的應(yīng)用。(2)圖像編碼壓縮圖像編碼壓縮技術(shù)可減少描述圖像的數(shù)據(jù)量(即比特數(shù)),以便節(jié)省圖像傳輸、處理時間和減少所占用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進(jìn)行。編碼是壓縮技術(shù)中最重要的方法,它在圖像處理技術(shù)中是發(fā)展最早且比較成熟的技術(shù)。(3)圖像增強(qiáng)和復(fù)原圖像增強(qiáng)和復(fù)原的最的是為了提高圖像的質(zhì)量,如去除噪聲,提高圖像的清晰度等。圖像增強(qiáng)不考慮圖像降質(zhì)的原因,突出圖像中所感興趣的部分。如強(qiáng)化圖像高頻分量,可使圖像中物體輪廓清晰,細(xì)節(jié)明顯,強(qiáng)化低頻分量可減少圖像中噪聲影響。圖像復(fù)原要求對圖像降質(zhì)的原因

5、有一定的了解,一般講應(yīng)根據(jù)降質(zhì)過程建立“降質(zhì)模型,再采用某種濾波方法,恢復(fù)或重建原來的圖像。(4)圖像分割圖像分割是數(shù)字圖像處理中的關(guān)鍵技術(shù)之一。圖像分割是將圖像中有意義的特征部分提取出來。有意義的特征一般有圖像中的邊緣、區(qū)域等,這是進(jìn)一步進(jìn)行圖像識別、分析和理解的基礎(chǔ)。雖然目前已研究出不少邊緣提取、區(qū)域分割的方法,但還沒有一種普遍適用于各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點(diǎn)之一。(5)圖像描述圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區(qū)域描述兩類方法

6、。對于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發(fā)展,己經(jīng)開始進(jìn)行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述【”】等方法。(6)圖像識別圖像識別屬于模式識別的范疇,其主要內(nèi)容是圖像經(jīng)過某些預(yù)處理(增強(qiáng)、復(fù)原、壓縮)后,進(jìn)行圖像分割和特征提取,進(jìn)而對提取的特征進(jìn)行判決分類。圖像分類常采用經(jīng)典的模式識別方法,有統(tǒng)計模式分類和句法(結(jié)構(gòu))模式分類。近年來新發(fā)展起來的模糊模式識別和人工神經(jīng)網(wǎng)絡(luò)模式分類在圖像識別中也越來越受到重視。三、實(shí)驗(yàn)思路自動讀出時鐘的指針關(guān)鍵在于找出指針,在實(shí)驗(yàn)過程中考慮到時鐘是圓形的,所以可以進(jìn)行坐標(biāo)變換將圖片xy坐標(biāo)轉(zhuǎn)換成極坐標(biāo)表示,這樣就

7、可以將指針表示成直線,方便求取。四、實(shí)驗(yàn)步驟(1) 利用孤立點(diǎn)檢測法,構(gòu)造相應(yīng)的掩膜濾波器,對圖像掃描,識別儀表盤的圓心。(2) 當(dāng)壓力為0Pa時,指針會指向0刻度,此時,利用線檢測法,構(gòu)造相應(yīng)的掩膜濾波器檢測指針,例如:方向?yàn)?-1-1-10-1 11 0 既可以檢測出指針位置,又可以檢測出0刻度位置。(3) 使壓力表的讀數(shù)變?yōu)闈M刻度0.4MPa,用上述方法檢測指針,此時方向?yàn)椤#?) 記錄0刻度與滿刻度角度差,并將其等分為80份。(5) 設(shè)此刻壓力表讀數(shù)為X,識別出指針后,將初始化時的兩幅圖與此時圖做圖像融合,之后檢測兩指針夾角。(6) 根據(jù)所得夾角,計算出相應(yīng)讀數(shù)。五、實(shí)驗(yàn)程序#incl

8、ude"stdafx.h"#include<iostream>#include<cv.h>#include<highgui.h>#include<vector>usingnamespace std;usingnamespace cv;int _tmain(int argc, _TCHAR* argv) Mat blurImg;Mat srcImg=imread("C:Users Desktopclock2.jpg",0); threshold(srcImg,blurImg,135,255,THRESH_BI

9、NARY);imshow("blurImg",blurImg);/找儀表的上下左右邊界/double l=0,r=0,u,d;double center_x=0,center_y=0;for(int i=0;i<blurImg.cols;+i) double sum=0;for(int j=0;j<blurImg.rows;+j) uchar intensity = blurImg.at<uchar>(j,i); sum+=intensity; if(sum<255*blurImg.rows) l=i;break; for(int i=blur

10、Img.cols-1;i>=0;i-) double sum=0;for(int j=0;j<blurImg.rows;+j) uchar intensity = blurImg.at<uchar>(j,i); sum+=intensity; if(sum<255*blurImg.rows) r=i;break; for(int i=0;i<blurImg.rows;+i) double sum=0;for(int j=0;j<blurImg.cols;+j) uchar intensity = blurImg.at<uchar>(i,j)

11、; sum+=intensity; if(sum<255*blurImg.cols) u=i;break; for(int i=blurImg.rows-1;i>=0;i-) double sum=0;for(int j=0;j<blurImg.cols;+j) uchar intensity = blurImg.at<uchar>(i,j); sum+=intensity; if(sum<255*blurImg.cols) d=i;break; center_x=(l+r)/2.0;/find centercenter_y=(u+d)/2.0;cout&l

12、t;<"left of the clock is:left="<<l<<endl;cout<<"right of the clock is:right="<<r<<endl;cout<<"up of the clock is:up="<<u<<endl;cout<<"down of the clock is:down="<<d<<endl;cout<<"ce

13、nter_x of the clock is:center_x="<<center_x<<endl;cout<<"center_y of the clock is:center_y="<<center_y<<endl;/對儀表進(jìn)行坐標(biāo)變換/IplImage sour=(IplImage)blurImg;IplImage *dst=cvCreateImage(Size(600,360),8,1);cvLogPolar(&sour,dst,cvPoint2D32f(center_x,center_y)

14、,100,CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS);Mat dstImg=(Mat)dst;threshold(dstImg,dstImg,250,255,THRESH_BINARY);imshow("dstImg",dstImg);/選取兩個感興趣區(qū)域/Rect r1(450,0,20,dstImg.rows);Rect r2(530,0,10,dstImg.rows);Mat roiImg1=dstImg(r1);Mat roiImg2=dstImg(r2);imshow("roiImg1",roiImg1);

15、imshow("roiImg2",roiImg2);vector<int> uptodown1,uptodown2;vector<int> downtoup1,downtoup2;vector<int> m,n;for(int i=1;i<roiImg1.rows-1;i+) int intensity1 = roiImg1.at<uchar>(i,10); m.push_back(intensity1);int intensity2 = roiImg1.at<uchar>(i-1,10);int inten

16、sity3 = roiImg1.at<uchar>(i+1,10);if(intensity1=0)if(intensity2=255) uptodown1.push_back(i);if(intensity3=255) downtoup1.push_back(i);for(int i=1;i<roiImg2.rows-1;i+) int intensity1 = roiImg2.at<uchar>(i,0);n.push_back(intensity1);int intensity2 = roiImg2.at<uchar>(i-1,5);int in

17、tensity3 = roiImg2.at<uchar>(i+1,5);if(intensity1=0)if(intensity2=255) uptodown2.push_back(i);if(intensity3=255) downtoup2.push_back(i);cout<<"The size of uptodown1 is:"<<uptodown1.size()<<endl;cout<<"The size of downtoup1 is:"<<downtoup1.size(

18、)<<endl;cout<<"The size of uptodown2 is:"<<uptodown2.size()<<endl;cout<<"The size of downtoup2 is:"<<downtoup2.size()<<endl;vector<double> ave1,ave2;/存指針中心for(int i=0;i<uptodown1.size();i+)double sum=0,ave=0; sum+=(uptodown1i+dow

19、ntoup1i); ave=sum/2.0; ave1.push_back(ave);for(int i=0;i<uptodown2.size();i+)double sum=0,ave=0; sum+=(uptodown2i+downtoup2i); ave=sum/2.0; ave2.push_back(ave);cout<<"In the roiImgi,the value of arrow is:"<<endl;for(int i=0;i<uptodown1.size();i+)cout<<ave1i<<e

20、ndl;cout<<"In the roiImgi,the value of arrow is:"<<endl;for(int i=0;i<uptodown2.size();i+)cout<<ave2i<<endl;cout<<"The size of ave1 is:"<<ave1.size()<<endl;cout<<"The size of ave1 is:"<<ave2.size()<<endl;double second_y,minute_y,hour_y;if(downtoup21-uptodown21)<(downtoup20-uptodown20)second_y=ave21;minute_y=ave20;elsesecond_y=ave20;minute_y=ave21;cout<<"The y value of second arro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論