完整代碼以下學習
import cv2 import numpy as np from scipy import ndimage kernel133 = np.array([ [-1, -1, -1], [-1, 8, -1], [-1, -1, -1] ]) kernel133_D = np.array([ [1, 1, 1], [1, -8, 1], [1, 1, 1] ]) img = cv2.imread('jj.jpg') img = ndimage.convolve(img, kernel133_D) cv2.imshow('enhanced', img) cv2.waitKey(0)
完整的報錯以下測試
Traceback (most recent call last): File "D:/Python/測試專用文件夾/opencv測試.py", line 19, in <module> img = ndimage.convolve(img, kernel133_D) File "C:\Users\yjc\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\ndimage\filters.py", line 745, in convolve origin, True) File "C:\Users\yjc\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\ndimage\filters.py", line 595, in _correlate_or_convolve raise RuntimeError('filter weights array has incorrect shape.') RuntimeError: filter weights array has incorrect shape.
經過這個文章,我知道了,cv2.imread要加一個額外的參數.net
img = cv2.imread('jj.jpg', cv2.IMREAD_GRAYSCALE)
或者code
img = cv2.imread('jj.jpg', 0)#0表示加載一張灰度圖。
OpenCV_Python API 官方文檔學習_ cv2.imread()blog
cv2.IMREAD_COLOR : 默認使用該種標識。加載一張彩色圖片,忽視它的透明度。 cv2.IMREAD_GRAYSCALE : 加載一張灰度圖。 cv2.IMREAD_UNCHANGED : 加載圖像,包括它的Alpha通道。