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

正文內容

基于嵌入式linux與s3c2410平臺視頻采集-全文預覽

2024-12-29 23:24 上一頁面

下一頁面
  

【正文】 的數據記錄到校正數組中,為以后計算轉換因子使用。 avg = ((long)vt + (long)vb) / 2。 diff = abs(vl vr)。 vl = abs(TouchPanel_Point[0].y TouchPanel_Point[1].y)。本項目中,五個校正點的坐標分別設置為 (20, 20), (20, 219), (299, 219), (299, 20), (119, 159)。 //Y 方向偏移量 U8 scale。 該數據結構的定義如下: typedef struct { U32 xFactor。所謂校正是指根據觸摸屏和 LCD 顯示屏對應點的電壓值和坐標的比例關系計算出一組轉換因子,該因子反映了觸摸屏上的電壓值和 LCD 顯示屏上坐標的對應關系。ts, sizeof(ts_event_t))。 觸摸屏數據的讀取 打開觸摸屏設備之后,用戶就可以通過 read()函數讀取觸摸屏的數據。下面將北京理工大學本科生畢業(yè)設計(論文) 21 詳細介紹這幾個部分具體內容: 打開觸摸屏設備 在每次使用觸摸屏設備時,首先都要打開該設備。 設備釋放 在使用完觸摸屏設備之后還要釋放其占有的系統(tǒng)資源以及釋放數據緩沖區(qū)的內容,避免殘留的數據影響設備下一次的正常使用。 } init_waitqueue_head(amp。 if (result) { printk(1init_module error from irq %d\n, result)。 } // 申請觸摸屏設備硬件中斷 result=0。 return ENODEV。初始化主要任務包括注冊觸摸屏設備、申請觸摸屏硬件中斷、初始化設備寄存器、清空數據緩沖區(qū)等等。asp_interrupt()函數的流程如圖 31 所示: 圖 31 觸摸屏硬件中斷服務子程序流程圖 根據中斷服務類型 , 作出相應處理清除數據緩沖區(qū)啟動自動校正清楚觸摸屏標志屏蔽觸摸屏下壓中斷使能觸摸屏抬起中斷觸摸屏下壓中斷關閉自動采樣功能屏蔽數據中斷清楚觸摸屏標志喚醒等待進程觸摸屏彈起中斷觸摸屏數據中斷清楚觸摸屏標志自動校正模式 ?校正處理啟動自動采樣讀取所有硬件數據 ?硬件緩存中還有數據 ?從硬件緩沖區(qū)讀取一個數據校正數據寫入軟件緩沖區(qū)是關閉自動校正否是否是否喚醒等待進程退出寫入最后一個數據清除硬件數據緩沖區(qū)北京理工大學本科生畢業(yè)設計(論文) 19 在中斷處理子程序中,系統(tǒng)調用 read_pen_fifo()從設備的硬件緩沖區(qū)中讀出一 個觸摸屏點擊數據的各項數值,然后調用 asp_post_process()使用 ASP設備對各項數值進行轉換,最后將轉換之后的數值使用 add_x_y()函數存放到上節(jié)中提到的驅動程序的數據緩沖區(qū)中。 4) 筆 FIFO 滿中斷( IRQ 號為 33); 5) 筆觸中斷( IRQ 號為 46)。 2) 筆數據比較(抬筆)中 斷 ( IRQ 號為 9)。 NEXTI()宏的實現如下: defineNEXTI(i) {i = (i == BUFLEN 1) ? 0 : i + 1。 該數據緩沖區(qū)以循環(huán)隊列的方式實現。 //觸摸屏壓力值 PENUP = 0x0000, PENDOWN = 0xffff unsigned short x。 觸摸屏校正思路 在觸摸屏驅動程序中使用數據結構 ts_event_t 來保存每次點擊觸摸屏所返回的數據。絕對坐標系統(tǒng)的特點是每一次定位坐標與上一次定位坐標沒有關系,每次觸摸的數據通過校準轉為屏幕上的坐標,不管在什么情況下,觸摸屏這套坐標在同一點的輸出數據是穩(wěn)定的。現在有的開發(fā)板廠商已 經可以提供觸摸屏的驅動接口,但是由于觸摸屏的尺寸大小以及一些具體參數的設置失誤,造成基于觸摸屏操作的圖形界面坐標不準,也就是說觸摸屏讀出的點的物理坐標和實際 LCD 屏幕的像素坐標不 相符 , 就無法正確使用所需要的應用程序。 /*關閉文件 */ return 0。 /* 綠色的色深 */ *(fbp + location + 2) = 200。 y = 100。 由此便可直接操作大小為 screensize,起始地址為 fbp 的內存區(qū)域,在LCD上直接顯示圖像、圖形、文字等,例如執(zhí)行 memset( fbp, 0, screensize)將進行清屏操作。 exit(3)。finfo)) { printf(Error reading fixed information\n)。 北京理工大學本科生畢業(yè)設計(論文) 14 FrameBuffer 設備是運行在 Linux 控制臺上的一個優(yōu)秀的圖形接口,他幾乎支持所有的硬件,提供了統(tǒng)一的 API 接口,很好地實現了硬件無關性,他可以直接操作顯存,而且還留有提供圖形加速功能的接口,運行時不需要 root權限; FrameBuffer 的設備節(jié)點是 /dev/fb*,用戶若要使用他,需要在編譯內核時選中 FrameBuffer,其簡單的使用程序如下: struct fb_var_screeninfo vinfo。在單幀的基礎上,利用 值確定采集完畢攝像頭幀緩沖區(qū)幀數據進行 循環(huán)的次數。grab_ buf)函數,若調用成功, 則激活設備真正開始一幀圖像的截取,是非阻塞的。該函數成功時返回映像內存區(qū)的指針, 失敗 時返回值為 1。 =320。 利用 mmap()方式視頻裁取具體進行操作如下。 完成以上初始化設備工作后,就可以對視頻圖像截取了,有兩種方法:一種是 read()直接讀??;另外一種 mmap()內存映射。 if(ioct1(grab_fd,VIDIOCSPICT,amp。該函數成功返回后,這些信息從內核空間拷貝到用戶程序空間 grab_cap 各成員分量 中,使用 printf 函數就可得到各成員分量信息,例如printf(maxheight=%d,)獲得最大垂直分辨率的大小。這里說明一下 ioctl(int fd,int 北京理工大學本科生畢業(yè)設計(論文) 12 cmd,?) 函數,它在用戶程序中用來控制 I/O 通道,其中, fd 代表設備文件描述符, cmd 代表用戶程序對設備的控制命令,省略號一般是一個表示類型長度的參數,也可沒有。 //獲得文件的信息 munmap(void *start,size_tlength)。 struct voide_mbuf grab_vm; 這些數據結構都是由 Video4Linux 支持的,它們的用途如下: *video_capability 包含攝像頭的基本信息,例如設備名稱、支持的最大最小分辨率、信號源信息等,分別對應著結構體中 成員變量 name[32]、maxwidth、 maxheight、 minwidth、 minheight、 channels(信號源個數 )、 type等; *voide_picture 包含設備采集圖像的各種屬性,如 brightness(亮度 )、hue(色調 )、 contrast(對比度 )、 whiteness(色度 )、 depth(深度 )等; *video_mmap 用于內存映射; *voido_mbuf 利用 mmap 進行映射的幀信息,實際上是輸入到攝像頭存儲器緩沖中的幀信息,包括 size(幀的大?。?、 frames(最多支持 的幀數)、offsets(每幀相對基址的偏移)。本設計編寫采集程序是在安裝 Linux 操作系 統(tǒng)的宿主機 PC機上進行的,下面是具體論述。在系統(tǒng)平臺上對 USB口數碼攝像頭驅動,首先把 USB控制器驅動模塊靜 態(tài)編譯進內核,使平臺中支持 USB 接口,再在需要使用攝像頭采集時,使用 insmode 動態(tài)加載其驅動模塊,這樣攝像頭就可正常工作了,接著進行了下一步對視頻流的采集編程。對于 USB 口攝像頭,其驅動程序中需要提供基本的 I/O 操作接口函數 open、 read、 write、 close 的實現。 北京理工大學本科生畢業(yè)設計(論文) 10 USB口數碼攝像頭的驅動實現 在 Linux 下,設備驅動程序可以看成 Linux 內核與外部設備之間的接口。這個標準定義了一套接口,內核、驅動、應用程序以這個接口為標準進行通信。上層軟件部分我參考了 vidcat, vgrabber, w3cam, gqcam 這幾種軟件的操作過程,重點參照了 vidcat 進行了 V4L 編程,使用了 和 中的函數,經過交叉編譯,在實驗板上實現了實時圖像采集的 功能 。然后再加相應的攝像頭驅動程序。而在Linux 下要使系統(tǒng)所掛接的外部設備正常工作,必須加載相應的驅動程序。軟件部分的搭建主要依賴于以下三個部分: ① Boatloader:可以從 SAMSUNG 公司的官方網站獲取,經過交叉編譯生成映像文件,然后通過 JTAG 接口將映像燒寫到目標板,實現引導程序的裝載。然后,保存成文件的形式 并 運行移植到平臺上的圖像處理程序,對緩沖的圖像數據直接進行相關處理 。該平臺采用 Samsung 公司的處理器 S3C2410。對于嵌入式 Linux,宿主機 PC上應安裝 Linux 系統(tǒng)。這種方式通常不適于嵌入式系統(tǒng)的軟件開發(fā),因為對于嵌入式系統(tǒng)的開發(fā),它沒有足夠的資源在本機(即嵌入式系統(tǒng)平臺)運行開發(fā)工具和調試工具。 Linux 的動態(tài)模塊加載,使 Linux 的裁減極為方便 ,高度模塊化的部件使添加非常容易。 4) 嵌入式 Linux 的圖形環(huán)境與桌面系統(tǒng)相比簡陋的多,對中文的支持也不夠完善,對于某些手持數字設備,這方面還有許多工作要做。這些工作包括: 1) 嵌入式系統(tǒng)中的揮發(fā)性 /非揮發(fā)性存儲器容量受到嚴格的限制,為適應系統(tǒng)對尺寸的要求,需要剪裁嵌入式 Linux 的內核。 6) 對多種網絡協(xié)議的完美支持。 5) 整個系統(tǒng)是免費的,只要遵守 GPL 規(guī)則,任何人都可以使用、修改甚至銷售 Linux,全世界有無數個人和組織在不斷的完善 Linux,有眾多的計算機廠商提供 Linux 相關的產品和服務。 Linux 是按照 POSIX 標準編寫的,許多源代碼借鑒了 UNIX。自由軟件的由一個標準組織控制,全世界范圍軟件人員并行開發(fā)的方式造就了 Linux 可剪裁的內核結構,而可剪裁性恰恰是將 Linux 與嵌入式系統(tǒng)緊密聯(lián)系在一起 的紐帶,另一方面嵌入式系統(tǒng)對成本的嚴格限制也使得具備開放特征的 Linux 超越其它諸如 Vxwork、 pSOS、Neculeus 和 Windowss CE 等強勁競爭對手成為市場占有率第一的嵌入式操作系統(tǒng)。 ” 自由軟件的資深作家、 《 新黑客詞典 》 的編輯 Eric S. Raymond 認為,開放源碼的 開發(fā)方式 天生就要比傳 統(tǒng)的自頂向下設計方法優(yōu)越。 GPL 是GNU通用公共許可證的縮寫, Linux 操 作系統(tǒng)以及與它有關的大量軟件是在 GPL的推動下開發(fā)和發(fā)布的。 Linux 的開發(fā)方式 Linux 是基于 GPL(GNU General Public License)的 opensource 軟件。 ? / 子目錄包含了內核的連網代碼。如: I386,ARM 等。 Linux 源代碼的結構 Linux 用來支持各種體系結構的源代碼包含大約 4500 個 C 語言程序,存放在 270 個左右的子目錄下,總共大約包含 200 萬行代碼,大概占用 58MB 磁盤空間。最開始的 Linux 是用匯編語言編寫的。 Linux 是如今的桌面系統(tǒng)領域中,唯一能做到與 Windows 相抗衡的操作系統(tǒng)。美國汽車大王福特公司的高級經理曾宣稱,“福特出售的‘計算能力’已超過了 IBM”。 隨著網絡技術、信息技術和計算機技術的飛速發(fā)展,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢必然是全面數字化、網絡化,加上現在微處理器性能 的大大提高,基于嵌入式網絡視頻監(jiān)控技術應用而生,它的主要原理是:嵌入式服務端采用微處理器和嵌入式操作系統(tǒng),結合網絡技術,將采集來的視頻圖像經過壓縮處理,傳輸到網絡,實現網絡視頻監(jiān)控。 Moving target detection。USB 攝像頭 北京理工大學本科生畢業(yè)設計(論文) 3 Abstract The paper is based on an embedded Linux Digital Video Monitoring System. Video Monitoring System is an important part of the security system, it is a an integrated system which has a stronger ability to prevent from danger . Using embedded systems to realize remote video mo
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1