在OpenCV裡實現二維離散卷積3

2021-10-01 01:57:35 字數 667 閱讀 3749

從結果裡可以看到,當卷積使用full計算時,輸出結果會比原來輸入的影象變大,這樣會破壞影象的大小,如果經過幾遍這樣的計算,影象就會變得非常大,有時候這種輸出結果會導致問題出現。那麼有沒有輸入影象與輸出影象一樣大小的卷積運算呢?是有的,就是same模式計算,如下圖:

當卷積核的中心(k)與image的邊角重合時,開始做卷積運算,可見卷積核的運動範圍比full模式小了一圈。注意:這裡的same還有乙個意思,卷積之後輸出的影象的尺寸保持不變(相對於輸入)。當然,same模式不代表完全輸入輸出尺寸一樣,也跟卷積核的步長有關係。

#python 3.7.4,opencv4.1

#蔡軍生

#import cv2

import numpy as np

import matplotlib.pyplot as plt

from scipy import signal

#計算卷積

image = np.array([[1,2],[3,4]])

k = np.array([[-1,-2],[2,1]])

c_full = signal.convolve2d(ima

二維座標離散化

離散化的思想就是將分布大卻數量少 即稀疏 的資料進行集中化的處理,這樣可以有利於程式的空間與時間,能減少遍歷次數與空間儲存。然而雖然我會了思想今天問了翔神半天才知道怎麼實現。其實實現的方式與口述的角度還是有所不同。思想理解起來其實道理很簡單,如座標 3,2000 10005,31 10006,5 離...

OpenCV中二維座標順序

opencv的二維影象中,通過rows cols x y四個屬性來表示大小或位置,容易混淆。rows代表的是行,cols代表的是列。x在cols上,y在rows上。容易混淆 矩陣mat img int rows,int cols,int type 先行 寬 後列 高 矩形 rect rect int...

在OpenCV裡實現開運算

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