4

我正在使用可编程轴控制器对显微镜进行自动对焦编程。为了测试,我实现了一个模拟,它根据曝光、轴位置等返回一个图像。模拟拍摄了一张好的图像,并扭曲了它——例如变得更亮、更暗。

良好对焦的首要指标是锐利的边缘(适用于我的图像类型)。基本上我总结了相邻像素之间的强度差异。总和越高,焦点越好。

我的问题是,如何模拟未聚焦的图像?有人已经实施了吗?一系列过滤器会很棒。

我试过 cvSmooth,但它没有给出实际的结果。

PS:我目前的解决方法是改变与焦点位置的距离成反比的 ROI 大小。它适用于测试我的算法,但不适用于演示 - 因为图像在模拟过程中不会改变。

4

1 回答 1

4

(我不确定堆栈溢出是否适合您的问题,因为它是特定于域的)

在点扩散函数(PSF)的范围内查看您的显微镜。PSF 是描述显微镜中点状光源图像的函数。如果您从 3D 点扩散函数中获取单个平面,则您会在此轴向距离上出现散焦行为。用点扩散函数图像折叠你的图像,你就有了散焦的图像。此操作通常称为“折叠”、“卷积”或“带核平滑”。

当然,您的显微镜需要点扩散功能,并且有很多细节需要考虑 - 最重要的是,所涉及的光学器件类型、数值孔径等。请咨询相关的光学文献。Sibaritas反卷积显微镜似乎是一个好的开始。

请注意,一般而言,3D 散焦涉及通过相位集成贝塞尔函数。如果轴向散焦在显微镜横向分辨率的大约 2 倍范围内,您可能可以使用高斯掩模来近似该行为。这就像普通显微镜上的一到两微米。对于较大的轴向散焦,您需要计算积分。我怀疑这是否在 OpenCV 的范围内,因此您需要预先计算散焦函数。

我的论文项目rapidSTORM有一个石油目标的实现,但代码(pixelatedBessel.cpp)不在 opencv 中。

尤其是对于大光圈显微镜,计算变得相当复杂,然而——在我的实验室,我们通常更喜欢在显微镜上放置一个点状光源(例如量子点),让 Z 阶段完成这项工作。

于 2013-01-31T13:36:47.727 回答