三星S10e的超廣角和正常鏡頭切換的時(shí)候,咔咔聲很悅耳,不過這里也有疑問,關(guān)于自動(dòng)對(duì)焦這個(gè)操作是不是有一些開源的東西?好像沒有,我 隨便搜索了倆篇論文看下。
首先是這個(gè)
一副圖像是否聚焦,反映在空域上是圖像的邊緣及細(xì)節(jié)是否清晰,而圖像的邊緣及細(xì)節(jié)。信息可以通過對(duì)圖像進(jìn)行微分來獲取,因此,可以利用這些信息作為聚焦的判據(jù)。這種提取圖像邊緣信息的函數(shù)稱為聚焦評(píng)價(jià)函數(shù),圖像經(jīng)其處理后所得到的量值能夠反映圖像的清晰度。聚焦評(píng)價(jià)函數(shù)應(yīng)具有以下幾個(gè)特性性:無偏性,單峰性,高靈敏度,較高信噪比,計(jì)算量較小。這里選用絕對(duì)方差函數(shù):
全文就這個(gè)公式還算Soul
說了這么多,就這個(gè)函數(shù)重要:
聚焦評(píng)價(jià)函數(shù),對(duì)于自動(dòng)聚焦的實(shí)現(xiàn),具有重要的意義。聚焦評(píng)價(jià)函數(shù)有很多,每種方法都有其優(yōu)點(diǎn)和缺點(diǎn)。原理很簡(jiǎn)單,越是清晰的照片,每個(gè)像素與其周圍像素的差距越大,當(dāng)聚焦不對(duì)時(shí),會(huì)發(fā)現(xiàn),整個(gè)圖像糊成一團(tuán),即像素值都在某一小范圍內(nèi)。
int calculateGrayDifference(Mat image)//傳入單通道圖像
{
Mat temImage;
temImage = Mat::zeros(image.size(), CV_32FC1);
//long int result = 0;
for (int i = 1; i < image.rows; i++)
{
for (int j = 1; j < image.cols; j++)
{
int num = image.at
(i, j); int num1 = image.at
(i-1, j); int num2 = image.at
(i, j-1); int num3 = abs((num - num1)*(num - num2));
temImage.at<float>(i, j) = num3;
//result = result + num3;
}
}
Scalar total = sum(temImage);
return cvRound(total[0]);
//return result;
}
給出計(jì)算的code
下面論文還有點(diǎn),不過關(guān)系不大:
這個(gè)函數(shù)怎么算?這里給出,圖像使用二維數(shù)組存放
算法流程圖
以及引入變步長這些東西
當(dāng)相鄰圖像的聚焦量值對(duì)比小于一定域值時(shí),目標(biāo)景物及光學(xué)鏡頭的狀態(tài)相對(duì)穩(wěn)定,此時(shí)控制系統(tǒng)處于微動(dòng)掃描狀態(tài),控制輸出仍有使調(diào)焦機(jī)構(gòu)向獲取更大聚焦量圖像方向運(yùn)動(dòng)的趨勢(shì),但控制量微小。當(dāng)相鄰圖像的聚焦量值對(duì)比大于一定域值,表明目標(biāo)景物發(fā)生了變化,或光學(xué)鏡頭進(jìn)行了變倍、轉(zhuǎn)向等操作,則控制系統(tǒng)進(jìn)入大步長快速調(diào)焦過程。假定此時(shí)調(diào)焦機(jī)構(gòu)位于點(diǎn) M 處,首先確定搜索方向,因點(diǎn) N 的聚焦量值大于點(diǎn) M 的聚焦量值,即確定向點(diǎn) N 方向行進(jìn),直到越過最大值 P 到達(dá) P 1 為止,即路徑為 M-N-P-P 1 ,將此
過程中最大聚焦量值 P′暫存,進(jìn)入漸小步長聚焦過程。由 P1 開始,向山頂 P運(yùn)動(dòng),直到 P 2 為止,將此次搜索中最大聚焦量值 P〞暫存。如此反復(fù),每搜索一次,步距相應(yīng)減小,并將相鄰兩次搜索中所獲得的兩個(gè)最大聚焦量值進(jìn)行對(duì)比,當(dāng)對(duì)比值小于一定域值時(shí),表示調(diào)焦機(jī)構(gòu)已經(jīng)位于很接近點(diǎn) P 的位置,進(jìn)入微動(dòng)掃描狀態(tài)。
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4699瀏覽量
94773 -
圖像
+關(guān)注
關(guān)注
2文章
1092瀏覽量
41035
原文標(biāo)題:相機(jī)自動(dòng)對(duì)焦算法
文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
樹莓派在自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用

TLV2544按照Figure8的時(shí)序操作,收到的數(shù)據(jù)不是當(dāng)前查詢的轉(zhuǎn)換的通道組,是一些雜亂的數(shù)據(jù)而且跳動(dòng)的很厲害,為什么?
AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法

ads1232獲取的數(shù)據(jù)中經(jīng)常有一些比較大的值或者一些錯(cuò)誤值,這個(gè)是因?yàn)槭裁丛颍?/a>
TMP112的供電有什么特別的?是不是在讀寫數(shù)據(jù)前必須有什么初始化操作?
DAC80004的轉(zhuǎn)換速率是不是用setting time這個(gè)參數(shù)來衡量
一些關(guān)于ldc1000的spi通信的問題求解
請(qǐng)問一下TPA3118和TPA3116的截止頻率是多少,是不是需要一些管腳配置?
TPA3116D2要是PBTL輸出,提高開關(guān)頻率是不是發(fā)熱量要小一些,但是干擾會(huì)不會(huì)大些呢?
iFocus 自動(dòng)對(duì)焦模塊,輕松解決高倍率自動(dòng)光學(xué)檢測(cè)難題

評(píng)論