虽然整个图像数据采集的每个环节都对实时自动对焦有影响,但就调焦控制而言只有机械结构、嵌入式控制和软件图像分析处理三个组成部分。其中机械结构和嵌入式控制,虽然我也会3D建模和嵌入式但是我缺乏光学知识所以这里我只展示我的图像处理部分。
测试图组
链接: link.
图片:
这其中2621和2632两张图片是清晰的图片。这组图用来模拟调焦时图像虚与实的过程。
测试代码
下面这段代码主要用于测试算法的可用性。在for循环过程中找到清晰的图片。
// An highlighted block
int _tmain(int argc, _TCHAR* argv[])
{
FILE* fp;
int point;//调焦值 局部变量就行
int tes=0;//为目标调焦值 局部变量就行
int i;
char name[40];
int firsttime=0,firsttime1=0,nexttime=0,sumtime=0;
for(i=610;i<=635;i++){
point=i;
sprintf(name,"D:\\FILE\\VS_file\\photo\\自动调焦测试图组\\2%d.bmp",i);
fp = fopen(name, "rb+");
fread(cpdata_24, sizeof(cpdata_24), 1, fp);
unsigned char* p = &cpdata_24[54];//跳过信息头
firsttime1 = clock();
//tes = cuis_24_sum_bm2(p, &point, 1280,2276, 0);//0为调焦过程,1为获取目标调焦值
tes = hanshu_24_bm3_sum(p, point,200,2000,1, 1, 1, 1280, 2276, 0, 0, 0);//实时自动调焦版本 1920*1080
printf("%d ---",i);
printf("%d\n",tes);
nexttime = clock();
}
sumtime = nexttime - firsttime1;
fclose(fp);
while(1);
return 0;
}
结果展示
识别出最清楚的图片后返回1。测试图组中有两个清晰的图片,所以返回两个1代表测试成功。
想要库进行测试的可以私信我。