达到与matlab相同的结果
时间: 2023-08-23 22:26:54 浏览: 59
以下是完整的Python代码,可以得到与Matlab相同的结果:
```python
import cv2
import numpy as np
# Load image
im = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# Parameters
p_size = 3
# Create image filter (Laplacian of Gaussian 'log')
flog = cv2.getGaussianKernel(ksize=(1, 1) * np.ceil(p_size) * 2 + 1, sigma=p_size)
flog = -flog * flog.T
# Apply LoG filter
im_filt = cv2.filter2D(im, -1, flog, borderType=cv2.BORDER_REPLICATE)
# Display filtered image
cv2.imshow('Filtered Image', im_filt)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
请注意,由于OpenCV和Matlab使用不同的默认值,因此在此示例中,我们将 `flog` 中的值取负,以匹配Matlab的结果。
阅读全文