<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【CV】一文講懂圖像處理中的低通、高通、帶阻和帶通濾波器

          共 2104字,需瀏覽 5分鐘

           ·

          2022-02-26 18:07

          空間域和頻域濾波器通常分為四種類型的濾波器——低通、高通、帶阻和帶通濾波器。在本文中,我們?yōu)槊恳环N濾波器提供了注釋、代碼示例和圖像輸出。


          濾波器類型



          • 低通濾波器:只允許通過低頻細(xì)節(jié),衰減高頻細(xì)節(jié)。例如:平滑濾波器。

          • 高通濾波器:只允許通過高頻細(xì)節(jié),衰減低頻細(xì)節(jié)。例如:銳化蒙版濾波器。

          • 帶阻濾波器:衰減一定頻率范圍內(nèi)的信號。允許低于某個閾值或高于另一個閾值的頻率通過。

          • 帶通濾波器:只允許特定頻帶內(nèi)的信號通過,允許高于低閾值和低于高個閾值的頻率通過。


          我們可以將不同濾波器用如下的公式來表示


          其中δ(x, y)是單位脈沖核


          使用Zone板來展示不同濾波器的效果


          Zone板是用于測試過濾器特性的一種測試板,有很多中版本。本文我們使用如下方程生成我們的要用的Zone板。

          其中 x,y 是遞增步長0.0275,取值范圍在[-8.2, 8.2]的一組數(shù),最終形成一個 597x597 的圖像,樣子如下所示


          具體的代碼如下:

          def zone(x, y):    return 0.5 * (1 + math.cos(x * x + y * y))
          SIZE = 597image = np.zeros((SIZE, SIZE))
          start = -8.2end = 8.2step = 0.0275
          def dist_center(y, x): global SIZE center = SIZE / 2 return math.sqrt( (x - center)**2 + (y - center)**2)
          for y in range(0, SIZE): for x in range(0, SIZE): if dist_center(y, x) > 300: continue y_val = start + y * step x_val = start + x * step image[y, x] = zone(x_val, y_val)



          接下來我們將通過代碼展示如何使用各種濾波器,以及展示每個濾波器對Zone板的處理結(jié)果。


          低通濾波器

          kernel_size = 15
          lowpass_kernel_gaussian = gkern(kernel_size)lowpass_kernel_gaussian = lowpass_kernel_gaussian / lowpass_kernel_gaussian.sum()
          lowpass_kernel_box = np.ones((kernel_size, kernel_size))lowpass_kernel_box = lowpass_kernel_box / (kernel_size * kernel_size)
          lowpass_image_gaussian = cv2.filter2D(image, -1, lowpass_kernel_gaussian)lowpass_image_box = cv2.filter2D(image, -1, lowpass_kernel_box)



          高通濾波器

          在空間域中,可以通過從圖像本身中減去低通濾波圖像來獲得高通濾波圖像(如非銳化掩模)

          highpass_image_gaussian = image - lowpass_image_gaussianhighpass_image_gaussian = np.absolute(highpass_image_gaussian)
          highpass_image_box = image - lowpass_image_boxhighpass_image_box = np.absolute(highpass_image_box)




          帶阻濾波器

          在空間域中,可以通過將低通濾波與高通濾波圖像(在不同閾值下)相加來獲得帶阻濾波圖像。

          bandreject_image = lowpass_image_gaussian + highpass_image_box




          帶通濾波器

          在空間域中,可以通過從圖像本身中減去帶阻濾波圖像來獲得帶通濾波圖像。

          bandpass_image = image - bandreject_imagebandpass_image = np.absolute(bandpass_image)



          最后,各位小伙伴可以比較一下不同濾波器對同一圖像的處理結(jié)果哦。仔細(xì)理解一下低通、高通、帶阻、帶通的含義。

          往期精彩回顧





          瀏覽 89
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩无码免费播放 | 亚洲视频日韩精彩动漫一区二区 | 久久中文字幕7区 | 免费国产黄色电影 | 大鸡巴网站免费看 |