mobai-6 2024-10-22 22:35 采纳率: 50%
浏览 31
已结题

使用pycharm调用opencv报错

有没有大lao帮忙看看

img


源代码:

from cv2 import cv2
import numpy as np

# 读取图像
src = cv2.imread('test14-1.bmp')

# 均值滤波
des1 = cv2.blur(src, (9, 9))  # 使用9x9的窗口进行均值滤波
cv2.putText(des1, 'Mean Filter', (5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)  # 添加文字说明
cv2.imshow('Mean Filter', des1)  # 显示均值滤波结果
cv2.waitKey(0)  # 等待按键,直到用户按下任意键

# 中值滤波
med = cv2.medianBlur(src, 9)  # 使用9的邻域进行中值滤波
cv2.putText(med, 'Median Filter', (5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)  # 添加文字说明
cv2.imshow('Median Filter', med)  # 显示中值滤波结果
cv2.waitKey(0)  # 等待按键

# 高斯滤波
gaussimg = cv2.GaussianBlur(src, (9, 9), 0)  # 使用9x9的高斯窗口进行高斯滤波
cv2.putText(gaussimg, 'Gaussian Filter', (5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)  # 添加文字说明
cv2.imshow('Gaussian Filter', gaussimg)  # 显示高斯滤波结果
cv2.waitKey(0)  # 等待按键

# 高斯边缘检测
gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)  # 将图像转换为灰度图像
gauss_edge = cv2.GaussianBlur(gray, (9, 9), 0)  # 对灰度图像应用高斯滤波进行平滑处理
edges = cv2.Canny(gauss_edge, 50, 150)  # 使用Canny算法进行边缘检测

cv2.putText(edges, 'Gaussian Edge Detection', (5, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)  # 添加文字说明
cv2.imshow('Gaussian Edge Detection', edges)  # 显示边缘检测结果
cv2.waitKey(0)  # 等待按键

# 关闭所有窗口
cv2.destroyAllWindows()

报错:

Traceback (most recent call last):
  File "C:\Program Files\PycharmProjects\pythonProject1\图像滤波.py", line 8, in <module>
    des1 = cv2.blur(src, (9, 9))  # 使用9x9的窗口进行均值滤波
cv2.error: OpenCV(3.4.9) C:\projects\opencv-python\opencv\modules\core\src\matrix.cpp:757: error: (-215:Assertion failed) dims <= 2 && step[0] > 0 in function 'cv::Mat::locateROI'
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月31日
    • 已采纳回答 10月23日
    • 修改了问题 10月23日
    • 修改了问题 10月22日
    • 展开全部