在OpenCV裡實現譜域低通濾波

2021-09-28 11:42:48 字數 630 閱讀 3566

數字影象在形成、傳輸過程中,往往因為各種因素被加入了雜訊,因此對影象進行前期處理以消除雜訊,對於影象的分析、理解等後期工作起到決定性的作用,影象的邊緣以及雜訊干擾在影象的頻域上對應於影象傅利葉變換中的高頻部分,而影象的背景區則對應於低頻部分,因此可以用頻域低通濾波法去除影象的高頻部分,以去掉雜訊從而使數字影象光滑,增強影象的顯示效果。

下面就使用前面學習過的傅利葉變換來實現低通濾波,要實現濾波要先實現濾波器,這裡採用理想濾波器,當然你也可以換成其它濾波器。以原點為圓心,半徑的圓內,無衰減地通過所有頻率,而在圓外「切斷」所有頻率的二維低通濾波器,稱為理想低通濾波器(ilpf),其函式表示式為:

#蔡軍生

#import numpy as np

import cv2

from matplotlib import pyplot as plt

import math

def fftimg(src): #快速傅利葉變換

h, w = src.shape[:2]

在OpenCV裡實現開運算

前面學習腐蝕和膨脹演算法,並且深刻地認識到它們的特性以及作用。如果由這兩種組合出來的運算又有什麼樣的不同呢?比如乙個影象先腐蝕後膨脹的操作,會有什麼結果呢?因為腐蝕是把白色變小,膨脹又是把白色變大,是否會保持原圖不變呢?帶著這些問題來研究一下先腐蝕後膨脹的演算法,我們把這樣的演算法叫做開運算,在數學...

在OpenCV裡實現傅利葉變換

要學習傅利葉變換,大家要先回去看一下數學書,因為它畢竟是數學的概念,這樣才會更好地理解。首先來看一張圖,就基本理解傅利葉變換 在這張裡,就可以看到同一組訊號在兩個不同方向上的成像,在時域裡看到的是方波,在頻域裡看到是不同頻率的幅度高度。其實這兩個影象都是表示相同的東西,只是看的角度不一樣。傅利葉變換...

在OpenCV裡實現條碼識別

現在條碼這麼普及,對於條碼的識別,很多應用場合都需要使用。在這裡就介紹乙個比較小的條碼識別庫,它就是pyzbar,對於一般的條碼,它是能識別出來的,如果比較新的格式可能識別不了。可以使用下面的命令來安裝它 pip install i pyzbar 成功安裝之後,就可以用下面的 進行測試 python...