999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種高效的圖像數據采集處理方案

2017-07-05 13:27:15曾憲陽楊紅莉郁漢琪
實驗室研究與探索 2017年6期
關鍵詞:單片機程序信號

曾憲陽, 楊紅莉, 郁漢琪

(南京工程學院 a. 工業中心;b. 數理部;c. 數學系,南京 210093)

一種高效的圖像數據采集處理方案

曾憲陽a,c, 楊紅莉b,c, 郁漢琪a

(南京工程學院 a. 工業中心;b. 數理部;c. 數學系,南京 210093)

分析了攝像頭工作原理,設計了單片機系統硬件電路原理圖,編寫了精簡的C語言程序代碼。提出在行中斷信號到來后,按序采集存儲該行各像素點圖像數據,去除冗余的循環判斷語句,節約了采集時間,提高了圖像采集效率。為滿足特殊場合需要,還設計了由多場圖像拼接成一幅圖像的數據采集方案程序,以提高圖像分辨率。實驗結果表明:該程序不僅可以驅動低速51單片機采集攝像頭圖像數據,也可以在高速STM32等單片機上運行,以進一步提高現有圖像采集速度與效率。

攝像頭; 單片機; 圖像采集; C語言

0 引 言

機器人小車在使用攝像頭進行路面循跡時,為了采集到正確的圖像信息[1-3],往往需要單片機與高速PCLK信號同步。然而,由于攝像頭工作原理復雜,且51單片機運行速度低而無法滿足要求。為解決這一問題,大多數學者采用的方法是通過降低攝像頭輸出分辨率來減少數據量,或者換用成本更高的高檔單片機,這不僅降低了圖像成像質量,也提高了系統成本,同時給多數不熟悉高檔單片機的學者帶來了困難[4-5]。本文分析了攝像頭的工作原理,在不改變攝像頭默認輸出分辨率的前提下,提出一種高效的圖像數據采集方案。該方案不僅能滿足低速單片機驅動攝像頭需要,而且還可移植到高速單片機如STM32上,以進一步提高現有圖像采集速度及效率。

1 攝像頭工作時序分析

圖1為通過SIGLENT示波器顯示的OV6620攝像頭行場中斷時序波形圖,其中第1行黃色波形是作者設置的圖像采集標志信號,第2行粉紅色波形是攝像頭發出的行中斷請求信號,第3行青綠色波形是攝像頭發出的場中斷請求信號。結合攝像頭原理,OV6620攝像頭在NAL制式下,每秒將會輸出25幀共50幅圖像,每幅圖像分辨率為356×292[6-8],共292行,356列。攝像頭引腳包括一個場中斷信號VSYNC以及一個行中斷信號HREF,場中斷信號VSYNC表示一副圖像的輸出起始信號,行中斷信號HREF表示每行數據輸出的起始信號。行中斷信號到來后,其高電平期間為數據輸出的有效期間,此時該行356個像素點數據將在PCLK的同步下,按序通過攝像頭數據輸出口Y0~Y7引腳依次輸出,每個像素點數據為8位。HREF低電平期間為無效時間區,此時數據讀取無效。為減小圖像失真,用戶往往需根據PCLK同步信號來讀取各像素點數據[9-13]。

圖1 通過示波器觀察的OV6620攝像頭行場中斷輸出時序圖

2 數據采集系統設計

2.1 系統整體方案

PCLK同步信號主要是防止圖像失真。低速單片機由于速度低無法同步PCLK信號,就無法讀取該行所有的356個像素點。然而圖像不失真的本質要求是“保證每行數據坐標完全對齊”,其實只須要求單片機在行中斷請求信號到來后,時間間隔均勻的讀取Y0~Y7信號,并且在此過程中不被其他中斷請求信號中斷即可[14]。

根據以上方案,為提高效率,應減少行數并減少每行像素點采集數量,更重要的是必須將行中斷設置為高優先級以防止被其他中斷請求信號干擾,這樣就可得到一個等比例縮放圖。

2.2 硬件電路原理圖設計

圖2為系統硬件電路原理圖。為提高單片機數據存儲器容量、提高單片機運行速度,選用增強型51單片機STC15F2K60S2[15]作為主控制芯片,其內部包含2.048 KB擴展數據存儲器,可用來存放臨時圖像數據。其程序存儲器有60 KB左右,可用來存放較大程序代碼,并且內部自帶復位電路。并且外部中斷可配置為上升或下降沿觸發方式,便于與OV6620攝像頭中斷請求信號匹配。Y0~Y7端口數據用以獲取圖像灰度數據,場中斷請求信號HREF接至單片機外部中斷1引腳,并在單片機中設置為下跳沿觸發。行中斷請求信號VSYNC接至單片機外部中斷0引腳,在單片機中斷初始化程序中將觸發方式設置為上升沿觸發方式即可。

圖2 系統硬件電路原理圖

2.3 系統程序編寫

系統程序執行速度對于本系統數據采集效率將起到至關重要的作用,因此程序代碼必須高效率。通常匯編語言程序效率較高,但不便于移植。本文將設計一種特殊結構的C語言程序,并且精簡代碼,以達到與匯編語言相同的執行效率。首先在程序存儲器RAM中開啟一個二維數組,用來臨時存放采集的圖像數據。設置行中斷為高優先級中斷,場中斷為低優先級別中斷,并且關閉其他中斷源。當場中斷信號到來后,開始接收一副新的圖像數據。設置系統每隔10行采集1行數據,當行中斷滿足條件時開始采集該行數據。由于采集每行數據執行的指令相同,工程師們通常采用循環判斷語句來完成采集任務,但每行數據有效采集時間只有40 μs,循環判斷語句將浪費寶貴的時間。為保證采集的高效性,應去除循環判斷語句,每個像素點的采集均占用一條獨立的語句,按照“讀—存儲—讀—存儲”的模式順序向下執行,讀取的數據直接存入到二維數組中。這種程序結構使得程序代碼長度增加,但避開了冗余的循環判斷,因此程序執行的效率得到大大提高,采集速度也將達到最大值。同時注意到本文所選用的單片機程序存儲器容量是足夠滿足要求的。根據此思路數據采集部分的完整程序代碼(1)編寫如下:

void Write0() //讀第1行數據并保存

{ Array[0][0] = DATA_IO; Delay();

Array[0][1] = DATA_IO;Delay();

Array[0][27] = DATA_IO;}

void Write24() //讀第29行數據并保存

{ Array[24][0] = DATA_IO;Delay();

Array[24][1] = DATA_IO;Delay();

Array[24][27] = DATA_IO;}

void ReceData() //數據讀取、處理、發送

{ if(ReceData_EN == 1)

{ switch(ArrayRow)

{ case 0:Write0();break;

case 1:Write1();break;

case24:Write24();break;}

ReceData_EN = 0;

ArrayRow++; }

if(HREF_Flag==1) //判斷一副圖像開始標志

{ RowCount++; //指向下一行

if((RowCount>20)&&(RowCount%10)==0)

{ ReceData_EN=1; }

if(RowCount>=226)//圖像接收完畢判斷

{ RowCount = 0; //復位各計數器

ReceData_EN = 0;

HREF_Flag = 0;

ArrayRow = 0;

EX0=0; //關閉行中斷

ArrayBinary(); //二值化處理

SendSeriPort();//發送給顯示終端

EX0=1;//使能中斷準備接收下一副圖像

} }}

其中,行中斷子程序流程圖如圖3所示。

圖3 行中斷子程序流程圖

3 實驗及分析

3.1 實驗驗證

以機器人小車循跡黑線為例,小車通過攝像頭實時采集地面信息發送給51單片機,在keil C51編譯環境下編譯以上程序后下載到單片機。單片機通過采集數據、二值化處理,再通過串口將數據傳遞給PC上位機觀察,得到的圖像如圖4所示。

(a) 上位機PC顯示的圖像

(b) 51單片機采集到的二值化圖像

圖4 51單片機通過攝像頭采集到的路面圖像與電腦顯示的圖像對比

圖4展示了每行采集時間約為40 μs時的二值化圖像。圖4(a)為上位機視頻采集卡采集到的視頻圖像。圖4(b)顯示了采集圖像的二值化處理結果,0區域代表黑線部分,1區域代表白色地面,與圖4(a)對比沒有發現圖像出現變形情況,而且很好地再現了一場黑白圖像。該實驗不僅證明了本文攝像頭算法的可行性,也解決了51單片機采集圖像數據的難題。

由于考慮到所選單片機運行速度及內部擴展RAM大小限制,因此以上單片機程序是將圖像數據控制在25行,每行28個點,使得圖像數據大小不超過內部擴展RAM容量。但是在一些特殊場合,如果對圖像分辨率要求較高,可將分辨率設置為80行,每行采集100個像素點,此時單片機數據存儲器容量不足以存放整幅圖像,因此程序算法應做改進。將一副圖像拆分成相等的4幅小圖像,每幅圖像為20行×100個像素點,場中斷到來后,首先采集0~19行第1幅小圖像,采集完后關閉行、場中斷,經二值化處理后通過串口發送給上位機。然后再打開行、場中斷,開始采集20~39行第2幅小圖像,重復以上步驟,直到第4幅圖像采集發送完畢,通過串口發送給上位機圖像采集結束標志信號,此時一幅高分辨率的圖像采集發送完畢。該程序算法提高了圖像分辨率,但是適當降低了數據采集速度,因為一幅圖像采集傳輸至少占用4場圖像的時間,可以滿足特殊場合下的用戶需求。其接收部分程序代碼(2)如下:

voidReceData()

{if(ReceData_EN == 1)

{switch(ArrayRow)

{case 0: Write0();break;

case 1: Write1();break;

case 79: Write79();break;}

ReceData_EN = 0;

ArrayRow++;}

if(HREF_Flag==1)

{ RowCount++;

if((RowCount>20)&&(RowCount%3)==0)

{ReceData_EN=1; } if((RowCount==77)||(RowCount==137)||(RowCount==197)||(RowCount==247))//判斷一小幅圖像是否接收完畢

{HREF_Flag = 0;

EX0=0;EX1=0;

ArrayBinary();

SendSeriPort();

EX0=1;EX1=1;}

if(RowCount>=247) //判斷一整幅圖像是否接收完畢

{RowCount = 0;

ReceData_EN = 0;

ArrayRow = 0;

EX0=1;EX1=1;} }}

3.2 程序算法在高速單片機上的運行情況

圖5展示了程序代碼(2)在STM32高速單片機上運行的情形,攝像頭采集路面循跡黑線,經過二值化處理后通過串口傳遞給上位機。由于程序代碼(2)的高效性,使得STM32單片機可以采集到更多的像素點和行數,也即采集到了更高分辨率的圖像,本實驗驗證了程序的可行性以及高效性。其實驗現場如圖6所示。

圖5 程序運行在STM32高速單片機上的情形

圖6 實驗現場照片

4 結 論

本文根據低速單片機驅動攝像頭存在的困難,對OV6620攝像頭工作原理進行了剖析,設計了單片機采集攝像頭數據硬件電路,設計了順序讀取各像素點數據然后直接存儲的采集方案,去除了冗余的循環判斷,提高了數據采集效率。為了提高圖像分辨率,將圖像拆分成4幅小圖像分別采集傳輸,編寫了相應了C語言程序,能很好的在51單片機及STM32單片機上運行,驗證了程序的可行性及高效性。

[1] 成 怡,金海林,樊冬雪.四軸飛行器視覺組合導航系統設計與實現[J].計算機測量與控制,2014,22(11):3705-3711.

[2] 張 璐,宋秋紅.自動巡線小車的圖像采集系統開發與優化[J].計算機工程與設計,2010,31(17):3754-3756.

[3] 高正中,趙麗娜,李世光,等.基于攝像頭的智能車控制系統設計[J].自動化與儀表,2015(6):1-4.

[4] 潘 磊,葛中芹,莊建軍,等.基于FPGA的HDMI視頻流圖像處理的系統設計[J].實驗室研究與探索,2015,34(10):76-80.

[5] 范哲意,周治國,劉志文.基于FPGA和模型化設計的圖像處理實驗平臺[J].實驗室研究與探索,2013,32(4):63-66.

[6] 趙 偉,吳正博,曾志輝.基于Ov6620的圖像采集系統的設計[J].自動化與儀器儀表,2012(6):82-83.

[7] OV6620datesheet[EB/OL].pdf.http://html.alldatasheet.com /html-pdf/ 103226/ETC/OV6620/53/1/OV6620.html.

[8] 田志宏,王 瑩,王 杰,等.多門控制及圖像實時采集系統的設計[J].實驗室研究與探索,2014,33(8):37-40.

[9] 李興澤,王福平. 基于CCD攝像頭的小區自動循跡停車系統[J].計算機應用,2013,33(S1):321-323.

[10] 朱鳳武,于豐華,韓 雨,等.基于攝像頭循跡的智能汽車路徑識別研究[J].中國農機化學報,2013,34(5):256-259.

[11] 趙 偉,吳正博,曾志輝.基于Ov6620的圖像采集系統的設計[J].自動化與儀器儀表,2012(6):82-83.

[12] 李旭東,廖中浩,孟 嬌,等.基于CMOS攝像頭的智能車控制系統設計及實現[J].吉林大學學報,2013,31(4):414-418.

[13] 陳慶強,湯龍梅,蔡文培.基于攝像頭的智能車路徑識別與方向控制算法[J].福建工程學院學報,2015,13(3):229-234.

[14] 羅 旭,廉小親,王濤.一種多路視頻信號分時遠距離傳輸方法的實現[J].電子技術應用,2015,41(3):158-160.

[15] 宏晶科技.STC15F系列單片機手冊[DB/OL]. www.stcmcu.com.

An Efficient Scheme for the Image Data Acquisition and Processing

ZENGXianyanga,c,YANGHonglib,c,YUHanqia

(a. Industrial Center;b. Department of Mathematics and Physics,c. Department of Mathematics, Nanjing Institute of Technology, Nanjing 210093,China)

Due to the high speed of camera in outputting image data and the high frequency of PCLK pixel synchronizing signal, the single chip microcomputer has low efficiency in image data acquisition. This article studies the working principle of the camera, designs the hardware circuit diagram of the single chip microcomputer system, and writes simplified C language codes. After the arrival of the row interrupt signal, the collecting and storing of the pixels image data of the row will be done in order. In the processing, there is no loop statement which is redundant at all. This approach saves the time and improves the efficiency in the data acquisition. This paper also designs the acquisition program to improve the image resolution for the following special case, where the image is made from a number of images. The experimental results show that the program can not only drive at low speed camera image data 51 single-chip microcomputer and can also run on such as high-speed STM32 microcontroller, so it can further improve the existing image acquisition speed and efficiency.

camera; single chip microcomputer; image acqucsition; C language

2016-09-15

南京工程學院2014年校級教學改革項目(JG201440);南京工程學院青年基金重點項目(QKJA201404);南京工程學院創新基金重大項目(CKJA201410)

曾憲陽(1979-),男,湖北隨州人,博士,實驗師,研究方向:電子與通信。Tel.:13951950718;E-mail:zxy@njit.edu.cn

TP 212.9

A

1006-7167(2017)06-0147-04

猜你喜歡
單片機程序信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 国产主播一区二区三区| 国产欧美专区在线观看| 19国产精品麻豆免费观看| 99精品国产电影| 国产青榴视频| 国产成人免费手机在线观看视频 | 国产中文一区a级毛片视频| 国产青青草视频| 91视频青青草| 亚洲 欧美 日韩综合一区| 精品一区二区久久久久网站| 国产精品视频第一专区| 五月天福利视频 | 老司国产精品视频| 99视频免费观看| 九色综合视频网| 99精品国产电影| 伊人丁香五月天久久综合| 国产97色在线| 欧美啪啪网| 日韩色图在线观看| 看看一级毛片| 91成人精品视频| 国产综合色在线视频播放线视| 日韩福利视频导航| 91麻豆国产视频| 亚洲国产精品美女| 精品一区二区三区四区五区| 国产一级毛片网站| 老司国产精品视频91| 国产精品99久久久久久董美香| 国产精品网址在线观看你懂的| 欧美一级特黄aaaaaa在线看片| 激情六月丁香婷婷四房播| 欧美a√在线| 1级黄色毛片| 72种姿势欧美久久久大黄蕉| 国产一区二区三区在线观看免费| 不卡视频国产| 日韩123欧美字幕| 日韩无码白| 国产毛片基地| 欧美在线导航| 国产美女无遮挡免费视频| 超薄丝袜足j国产在线视频| 亚洲精品午夜天堂网页| 国产aⅴ无码专区亚洲av综合网 | 强乱中文字幕在线播放不卡| 国产微拍一区| 国产一级做美女做受视频| 国产激情无码一区二区APP| 亚洲欧洲日产国产无码AV| 国精品91人妻无码一区二区三区| 国产精品无码AV中文| 蜜臀av性久久久久蜜臀aⅴ麻豆| 无码av免费不卡在线观看| 亚洲区视频在线观看| 国产v精品成人免费视频71pao| 亚洲av色吊丝无码| 国产美女在线观看| 在线观看免费黄色网址| 国内精品免费| 亚洲国内精品自在自线官| 白浆视频在线观看| 日本不卡在线| 国产精品无码久久久久久| 国产极品美女在线观看| 日韩无码白| 亚洲天堂网在线视频| 全部免费毛片免费播放| 中国国产高清免费AV片| 精品视频在线观看你懂的一区| 国产精品成人一区二区不卡 | 国产真实乱子伦精品视手机观看| 欧美专区在线观看| 欧美亚洲另类在线观看| 伊人激情综合| 日韩无码视频播放| 欧美中文字幕一区二区三区| 青青网在线国产| 久久一日本道色综合久久| 欧美日韩午夜视频在线观看|