用法:
cusignal.convolution.convolve.convolve2d(in1, in2, mode='full', boundary='fill', fillvalue=0)
卷積兩個二維數組。將
in1
和in2
與由mode
確定的輸出大小以及由boundary
和fillvalue
確定的邊界條件進行卷積。參數——- in1 : 數組第一個輸入。
- in2array_like
第二輸入。應該具有與
in1
相同的維度數。- 模式str {‘full’, ‘valid’, ‘same’},可選
指示輸出大小的字符串:
full
輸出是輸入的完全離散線性卷積。 (默認)
valid
輸出僅包含那些不依賴零填充的元素。在‘valid’ 模式中,
in1
或in2
在每個維度上必須至少與另一個一樣大。same
輸出與
in1
大小相同,以 ‘full’ 輸出為中心。
- 邊界str {‘fill’, ‘wrap’, ‘symm’},可選
指示如何處理邊界的標誌:
fill
用填充值填充輸入數組。 (默認)
wrap
圓形邊界條件。
symm
對稱邊界條件。
- 填充值標量,可選
填充填充輸入數組的值。默認值為 0。
- out:ndarray
一個二維數組,包含
in1
與in2
的離散線性卷積的子集。
返回:
例子:
使用複數 Scharr 算子通過 2D 卷積計算圖像的梯度。 (水平算子是實數,垂直算子是虛數。)使用對稱邊界條件避免在圖像邊界處產生邊。
>>> import cusignal >>> import cupy as cp >>> from scipy import misc >>> ascent = cp.asarray(misc.ascent()) >>> scharr = cp.array([[ -3-3j, 0-10j, +3 -3j], ... [-10+0j, 0+ 0j, +10 +0j], ... [ -3+3j, 0+10j, +3 +3j]]) # Gx + j*Gy >>> grad = cusignal.convolve2d(ascent, scharr, boundary='symm', mode='same') >>> import matplotlib.pyplot as plt >>> fig, (ax_orig, ax_mag, ax_ang) = plt.subplots(3, 1, figsize=(6, 15)) >>> ax_orig.imshow(cp.asnumpy(ascent), cmap='gray') >>> ax_orig.set_title('Original') >>> ax_orig.set_axis_off() >>> ax_mag.imshow(cp.asnumpy(cp.absolute(grad)), cmap='gray') >>> ax_mag.set_title('Gradient magnitude') >>> ax_mag.set_axis_off() >>> ax_ang.imshow(cp.asarray(cp.angle(grad)), cmap='hsv') >>> ax_ang.set_title('Gradient orientation') >>> ax_ang.set_axis_off() >>> fig.show()
相關用法
- Python cusignal.convolution.convolve.convolve1d3o用法及代碼示例
- Python cusignal.convolution.convolve.convolve1d2o用法及代碼示例
- Python cusignal.convolution.convolve.convolve用法及代碼示例
- Python cusignal.convolution.convolve.choose_conv_method用法及代碼示例
- Python cusignal.convolution.convolve.fftconvolve用法及代碼示例
- Python cusignal.convolution.correlate.correlate用法及代碼示例
- Python cusignal.windows.windows.hann用法及代碼示例
- Python cusignal.windows.windows.general_gaussian用法及代碼示例
- Python cusignal.waveforms.waveforms.chirp用法及代碼示例
- Python cusignal.windows.windows.gaussian用法及代碼示例
- Python cusignal.windows.windows.hamming用法及代碼示例
- Python cusignal.windows.windows.get_window用法及代碼示例
- Python cusignal.waveforms.waveforms.gausspulse用法及代碼示例
- Python cusignal.peak_finding.peak_finding.argrelmin用法及代碼示例
- Python cusignal.windows.windows.bartlett用法及代碼示例
- Python cusignal.spectral_analysis.spectral.welch用法及代碼示例
- Python cusignal.windows.windows.chebwin用法及代碼示例
- Python cusignal.windows.windows.general_cosine用法及代碼示例
- Python cusignal.peak_finding.peak_finding.argrelextrema用法及代碼示例
- Python cusignal.filtering.resample.resample_poly用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cusignal.convolution.convolve.convolve2d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。