LabVIEWwilliam hill官网
直播中

龙哥

12年用户 421经验值
擅长:电源/新能源 测量仪表
私信 关注
[讨论]

labview视觉自动对焦

` 本帖最后由 wcl86 于 2021-5-10 09:22 编辑

有很多小伙伴在问:labview中有没有自动对焦的函数,labview视觉中摄像头对焦能否实现自动调节?
如何评价一副图像的清晰度?可以通过以下算法定义并计算:

Tenengrad梯度方法利用Sobel算子分别计算水平和垂直方向的梯度,同一场景下梯度值越高,图像越清晰。以下是具体实现,这里衡量的指标是经过Sobel算子处理后的图像的平均灰度值,值越大,代表图像越清晰。
那么接下来就是如何编程来实现了:
①opencv实现
opencv中正好有相关函数可以直接实现:

        Mat imageSobel;
        Sobel(img, imageSobel, CV_16U, 1, 1);
        //图像的平均灰度
        double meanValue = 0.0;
        meanValue = mean(imageSobel)[0];
实际上就是sobel算子的平均灰度值
        接下来封装成dll,由labview调用即可:
微信图片_20210509171237.png

2.png

3.png
②labview自带函数实现:
labview自带sobel算子,提取sobel后图像灰度值会自动归一化到0-255,然后提取数组,对数组求均值即可:
4.png

5.png

最后比较两种方法的清晰度结果,看看是否能反应出图像的清晰度变化,以下是3张原图,可以看出,清晰度依次降低,opencv和labview调用后清晰度结果对应如下图:


7.png

8.jpg

9.png

10.jpg

11.png
可以看出,虽然labview和opencv得到的数值不一样大,但是3张图的清晰度值变化趋势是一样的,具体改算法的有效性还需要大家自行测试。

需要源码的朋友。请回帖下载:
游客,如果您要查看本帖隐藏内容请回复


` 9.png 6.jpg

回帖(83)

up-bound

2021-5-9 19:59:55
那以后相机不用调焦距啦?
1 举报
  • 龙哥: 配合电机可以自动对焦

LVGT

2021-5-10 03:29:06
牛鼻

高级了。。。。。。。。。
举报

1245965187

2021-5-10 09:26:50
我用过Labview写过类似的,利用中心像素点与周围的像素点分别求差值,然后这些插值求和在计算标准差。
1 举报

梁琼

2021-5-10 11:01:28
学习一下,学习一下,学习一下,学习一下,学习一下,学习一学习一下。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分