扫描任何焦点的图像

时间:2016-03-29 02:31:37

标签: vb.net image autofocus

下午好,

我希望有人能够指出我正确的方向,我即将开始研究X / Y / Z照片装置,它将图像堆叠在Z轴上以形成一个焦点' #39;图像。

我有两个选项,第一个是使用像FFMPEG这样的视频并从中拉出帧,或者第二个选项是拍摄多个图像然后将它们连接成一个图像。

我倾向于第一个选项(例如视频),因为虽然质量较低,但每个视野都相当小,所以它最终会变成更高质量的全景。

我的问题是虽然围绕处理FFMPEG图像堆栈,但焦点堆叠的工作方式是它拉动图像的焦点部分,其他焦点部分来自其他图像以形成一个图像,问题是虽然有一个视频,可能有一些部分根本不是我想要丢弃的部分,我的想法是如果我最终得到一组文件名进行扫描,我可以扫描它们并以编程方式选择焦点,但是我不确定人们如何确定焦点,或者焦点水平甚至是理想的!

这么长的故事简短,有没有人有关于如何根据数值确定彩色图像(例如视频帧)中的焦点水平的任何vb.net / .net提示,我可以使用确定焦点水平?

非常感谢!

1 个答案:

答案 0 :(得分:1)

对于那些感兴趣的人,我使用一种名为Sobel Edge检测的技术和一个名为AForge.Net的库来解决这个问题,基本上你给库提供了一个位图,它会遍历图像,将其转换为灰度并尝试确定边缘。

在完成此操作之后,我查看了边缘的标准偏差,如果您将图像从焦点外绘制到最佳焦点,然后再次失焦,则表示钟形曲线。找到最大值等于(在我的情况下)最重要的焦点'图像的一部分,如果你采用曲线的一个百分比,它可以捕获更多的焦点'部分图像。

希望这有助于其他人:)。