Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我被困在过滤器OpenCV/Python中_Python_Numpy_Opencv_Filter - Fatal编程技术网

我被困在过滤器OpenCV/Python中

我被困在过滤器OpenCV/Python中,python,numpy,opencv,filter,Python,Numpy,Opencv,Filter,我正在尝试学习opencv中的过滤器并运行此代码。但问题是,当ı运行代码时,它会给我一个几乎黑暗的图像,并警告我 c:/Users/... (3).py:19: RuntimeWarning: overflow encountered in ubyte_scalars result[j,i,a]=int((image[j,i,a]+image[j,i-1,a]+image[j,i+1,a]+image[j+1,i,a]+image[j-1,i,a]+image[j+1,i+1,a]+imag

我正在尝试学习opencv中的过滤器并运行此代码。但问题是,当ı运行代码时,它会给我一个几乎黑暗的图像,并警告我

c:/Users/... (3).py:19: 
RuntimeWarning: overflow encountered in ubyte_scalars 
result[j,i,a]=int((image[j,i,a]+image[j,i-1,a]+image[j,i+1,a]+image[j+1,i,a]+image[j-1,i,a]+image[j+1,i+1,a]+image[j+1,i-1,a]+image[j-1,i-1,a]+image[j-1,i+1,a])/9). 
如果我把这些注释掉,用
cv2.filter2d
方法运行代码,它会给我一个几乎是白色的图像。我的意思是,他们不需要做同样的事情吗?那滤镜不是会模糊图像吗?这是我的密码:

import cv2

image=cv2.imread(r"C:\Users\fazil\Desktop\c.png")
cv2.imshow("input",image)
cv2.cvtColor(image,cv2.CV_8U)
# kernel=np.array([
#     [1,1,1],
#     [1,1,1],
#     [1,1,1]
# ],np.float32)
# image=cv2.filter2D(image,-1,kernel)
def blur(image):
    height,width,channel=image.shape
    result=np.zeros(image.shape,image.dtype)
    for j in range(1,height-1):
        for i in range(1,width-1):
            for a in range(channel):
                result[j,i,a]=int((image[j,i,a]+image[j,i-1,a]+image[j,i+1,a]+image[j+1,i,a]+image[j-1,i,a]+image[j+1,i+1,a]+image[j+1,i-1,a]+image[j-1,i-1,a]+image[j-1,i+1,a])/9)
    return result

cv2.imshow("output",blur(image))
cv2.imwrite(r"C:\Users\fazil\Desktop\output.png",image)
cv2.waitKey()
cv2.destroyAllWindows() 

不要发布超过一次。这是否回答了您的问题?