在进行滤波处理图像的时候,出现了如题目所示的bug,解决方案很简单,将图片的后缀名修改一下
操作系统:Ubuntu16.0.4
源代码如下:
import cv2
import numpy as np
from scipy import ndimage
kernel_3x3=np.array([[-1,-1,-1],
[-1,8,-1],
[-1,-1,-1]])
kernel_5x5=np.array([[-1,-1,-1,-1,-1],
[-1,1,2,1,-1],
[-1,2,4,2,-1],
[-1,1,2,1,-1],
[-1,-1,-1,-1,-1]])
img=cv2.imread('dog.jpg',0)
k3=ndimage.convolve(img,kernel_3x3)
k5=ndimage.convolve(img,kernel_5x5)
blurred=cv2.GaussianBlur(img,(11,11),0)
g_hpf=img-blurred
cv2.imshow('g_hpf',g_hpf)
cv2.imshow('3x3',k3)
cv2.imshow('5x5',k5)
cv2.imshow('source',img)
cv2.waitKey()
cv2.destroyAllWindows()
报错:
rc/matrix.cpp:981: error: (-215) dims <= 2 && step[0] > 0 in function locateROI
后来发现,将dog.jpg改为jpeg就可以了,这个问题在window系统中似乎不存在