废话不多说,先上成果。
自动对焦视频效果
算法的逻辑是在调焦机构由小变大的过程中找到最清晰的一帧并给出对应的调焦值,在调焦机构运动结束后通过调焦值引导调焦机构运动到最清晰的那帧。
当然逻辑有很多改进的空间,不过对目前客户的使用来说已经够用了。
接下来上代码
// tset_exe.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "test5.h"
#define SIZE24 8739840
unsigned char cpdata_24[SIZE24]; //640*512 983094 1188234
int _tmain(int argc, _TCHAR* argv[])
{
FILE* fp;
int point;//调焦值 局部变量就行
int tes=0;//为目标调焦值 局部变量就行
int i;
char name[4];
for(i=1;i<=9;i++){
point=i;
sprintf(name,"D:\\FILE\\VS_file\\photo\\自动调焦测试图组\\260%d.bmp",i);
fp = fopen(name, "rb+");
fread(cpdata_24, sizeof(cpdata_24), 1, fp);
unsigned char* p = &cpdata_24[54];//跳过信息头
tes = cuis_24_sum_bm2(p, &point, 1280,2276, 0);//0为调焦过程,1为获取目标调焦值
}
fclose(fp);
return 0;
}
由下图可以清楚的看到,程序准确地找到了最清楚的那帧。后文我会把测试图库发出来 。
图片组链接:
https://download.csdn.net/download/m0_46213111/87785289?spm=1001.2014.3001.5501
当然你们也可以自己整理图片组用来测试。
下面是库文件,如何使用我就不说了。需要注意这个库只能应用在vs2010,64位中https://download.csdn.net/download/m0_46213111/87785382?spm=1001.2014.3001.5503