我遇到了一个无法解决的问题。我试图用sort()方法制作一个时间中值滤波器,但我根本做不到。这是我尝试过的最简单的测试:
import cv2
def sortExample():
img = cv2.imread("guitar.jpg")
cv2.sort(img, cv2.SORT_ASCENDING)
sortExample()
错误:
cv2.sort(img,cv2.sort_ASCENDING)cv2.error:……\src\opencv\modules\core\src\matrix.cpp:2367:错误:(-215)src.dims<=2&;src.channels()==1&;func!=0
我做错了什么?提前感谢
错误消息告诉您检查src.dims <= 2 && src.channels() == 1 && func != 0
失败(如果它不那么杂乱,您可能不会看到它?)。特别的是,它告诉你频道的数量不是1。
因此,您可以考虑其中一个通道,也可以将图像转换为灰度级:x = cv2.cvtColor(x, cv2.COLOR_BGR2GRAY)
。