我是一個新來Matlab,我有一個涉及圖像處理的項目。圖像重點和FFT
我有一些RGB圖像,我需要找到一種方法來將焦點與焦點圖像分開。我不需要糾正焦點不集中的焦點,我只需要找出哪些焦點不在焦點並將其刪除。我已經對圖像做了FFT2
,然後使用功率譜圖像的徑向平均值來查看焦點之間或焦點之外是否有差異,但我沒有看到兩者之間的差異。
我決定用梯度的圖象
[gradx,grady]=gradient(image)
的,然後採取幅度
new_image=sqrt((gradx.^2)+(grady.^2))
並嘗試使用該new_image
現在,而不是image
做FFT2
。功率譜看起來不像我期望的那樣,所以我不確定是否應該分別在gradx
和grady
的new_image
上執行FFT2
。有沒有人有任何想法,這是否是正確的方式來做到這一點?
我也在想,而不是使用漸變中使用的索貝爾掩蓋
mask=fspecial('sobel')
mask_x=imfilter(image,mask)
mask_y=imfilter(image,mask')
new_image=sqrt((mask_x.^2)+(mask_y.^2))
然後在new_image
做FFT2
但同樣的功率譜是不正確的。我期望它從零開始,而不是從最高值開始並以指數形式下降。
有沒有人試圖用這種方法分類圖像?謝謝你的閱讀。
很難直觀地看到你的意思是「功率譜不正確,我期望它從零開始,而是從最高值開始,並呈指數下降。」但它暗示我可能在檢查結果之前忽略調用FFTSHIFT。 – jez
'fftshift'你的光譜! – Shai
對不起,我忽略了我已經在使用FFTSHIFT。 – user3043257