2013-01-31 35 views
3

我正在編程自動對準帶有可編程軸控制器的顯微鏡。 爲了進行測試,我實現了一個模擬,該模擬根據曝光,軸位置等來返回圖像。模擬需要良好的圖像,並使其變形 - 例如,使得更明亮,更暗。「未聚焦」圖像的模擬

良好對焦的底漆指標是銳利的邊緣(適用於我的類型的圖像)。基本上我總結了neighboirung像素之間的強度差異。總和越高,焦點越好。

我的問題是,如何模擬未聚焦的圖像?有沒有人實現過它? 過濾器的序列會很好。

我試過cvSmooth,但沒有給出真實的結果。

PS:我目前的解決方法正在改變投資回報率大小與焦點位置的距離成反比。它適用於testig我的算法,但不適合演示 - 因爲圖像在模擬期間不會改變。

+1

未聚焦的圖像非常類似於長時間曝光和手抖動少許的圖像。有人可能會爭辯說,一個體面的模擬來得到模糊的圖像可能是假設拍攝圖像的對象在場景中保持靜止,並且模仿地移動圖像。這意味着實質上取一些實際像素和一些周圍像素的平均值,並重新分配給實際像素。這將佔用〜2x原始圖像的內存空間來完成。基本上我說的是實現一個2D卷積濾波器。 – trumpetlicks

+0

這是一個很好的鏈接,稱爲高斯模糊:http://en.wikipedia.org/wiki/Gaussian_blur。也看起來好像你試圖在opencv中實現這個,請在​​這裏嘗試http://docs.opencv。org/doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html – trumpetlicks

+0

@trumpetlicks:2D卷積是真實的,但是獲得正確的卷積蒙版很難。當然,它不是*高斯,而是接近焦點。 – thiton

回答

4

(我不知道如果堆棧溢出是你的問題的正確的網站,因爲它在很大程度上特定域)

一個點擴散函數(PSF)的條款中查看您的顯微鏡。 PSF是描述顯微鏡中點狀光源圖像的功能。如果您從3D點擴散函數中獲取單個平面,那麼您對該軸向距離具有散焦行爲。用點擴散函數圖像摺疊圖像,然後獲得離焦圖像。這種操作通常稱爲「摺疊」,「卷積」或「與內核平滑」。

當然,您需要爲您的顯微鏡使用點擴散函數,並且有很多細節需要考慮 - 最重要的是,涉及的光學類型,數值孔徑等。請查閱相關光學文獻。 Sibaritas Deconvolution Microscopy似乎是一個好開始。

請注意,一般來說,3D散焦涉及在階段中集成貝塞爾函數。如果軸向離焦大約是顯微鏡橫向分辨率的2倍,那麼您可以用高斯遮罩近似行爲。這是正常顯微鏡上的一個或兩個微米。對於較大的軸向散焦,您需要計算積分。我懷疑這是在OpenCV的範圍內,所以你需要預先計算一個散焦函數。

我的論文項目rapidSTORM有一個油目標的實現,但代碼(pixelatedBessel.cpp)不在opencv中。

特別是對於高光圈顯微鏡,計算變得相當複雜,但是 - 在我的實驗室中,我們通常寧願只在顯微鏡上放一個點狀光源(例如量子點),讓Z臺做工作。

+0

謝謝! PSF似乎是一個很好的起點。謝謝你的其他鏈接! –