從網(wǎng)上得到很多資料,很多地方或多或少的懵逼,但總算有所收獲,如今便簡單的把收獲一點一點總結(jié)出來。
幀率 :板球我們很快就搭出來了 但苦于攝像頭幀率不高,于是系統(tǒng)必然會有很大的滯后性,即便是調(diào)串級PID也著實令人不爽
OV5640窗口
不知為何,前幾天搜索,只能搜到這樣一個問題,這張圖象是什么意思
其實很簡單,我們拿大家手上都有的正點案例來講
//設(shè)置窗口的函數(shù)有兩個,第一個大家都會用就不貼詳細了,就是設(shè)置輸出圖像的大小,左右上下偏移量 u8 OV5640_OutSize_Set(u16 offx,u16 offy,u16 width,u16 height){} //第二個相信有文章標題疑惑的一般都不會用,因為如果直接在別人模塊上盲改的話,這個函數(shù)不會起作用 u8 OV5640_ImageWin_Set(u16 offx,u16 offy,u16 width,u16 height) { u16 xst,yst,xend,yend; xst=offx; yst=offy; xend=offx+width-1; yend=offy+height-1; OV5640_WR_Reg(0X3212,0X03); OV5640_WR_Reg(0X3800,xst>>8); OV5640_WR_Reg(0X3801,xst&0XFF); OV5640_WR_Reg(0X3802,yst>>8); OV5640_WR_Reg(0X3803,yst&0XFF); OV5640_WR_Reg(0X3804,xend>>8); OV5640_WR_Reg(0X3805,xend&0XFF); OV5640_WR_Reg(0X3806,yend>>8); OV5640_WR_Reg(0X3807,yend&0XFF); OV5640_WR_Reg(0X3212,0X13); OV5640_WR_Reg(0X3212,0Xa3); return 0; }
我們仔細看一下這個從未用過的函數(shù),它所操作的寄存器的位置不就是與之前的貼圖一一對應(yīng)。
簡單描述一下:
如果0x3800,0x3801,0x3802,0x3803都給0,也就是左邊界和上邊界都從零開
0x3804,0x3805代表攝像頭拍攝的寬,比如分別給0x0a, 0x3f就代表攝像頭捕捉寬度為2623
0x3806,0x3807代表攝像頭拍攝高:比如0x07, 0x9f就代表捕捉高度為1951
0x3810,0x3811,0x3812,0x3813前后兩個分別代表剛才2623,1951想要裁剪的寬長
如此便得到了一整張圖像,比較大張,細節(jié),但這顯然不是單片機接收到的
后續(xù)0x08,0x09,0x0A,0x0B,前后分別代表預(yù)設(shè)目標圖像大小,而這張圖像是根據(jù)上述攝像頭圖像縮放而來。
最后單片機得到的圖像就是它了,你二值化,連通域等等都是在此基礎(chǔ)之上。
最后,這些位操作很多地方都有,要改就把之前相關(guān)的都刪去,不然最后重復(fù)亂操作只能是花屏
幀率
ov5640.c的包含文件中的#include “ov5640cfg.h”
open之后,找到第二個函數(shù) 也就是 rgb565模式,也可以改第一個函數(shù)jpeg模式的,各取所取
直接改動寄存器0x3035,0x3035 的值
我們打開一個定時器,顯示一下幀中斷次數(shù)
舉例:
0x3035=41,0x3036=69;//15幀
0x3035=21,0x3036=ac;//50幀
0x3035=21,0x3036=69;//100幀
各取所需 ,只寫一次
最后幀數(shù)并非越高越好,改成自己實用的最佳。極度擴大幀率的同時別忘了減下圖像面積,優(yōu)化下算法。
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5325瀏覽量
120052 -
攝像頭
+關(guān)注
關(guān)注
59文章
4814瀏覽量
95476 -
OV5640
+關(guān)注
關(guān)注
1文章
19瀏覽量
14171
原文標題:ov5640幀率配置_OV5640攝像頭開窗大小,輸出窗口大小,幀率等設(shè)置
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論