Opencv+Python中的Sort()

1 投票
1 回答
911 浏览
提问于 2025-04-17 15:48

我遇到了一个解决不了的问题。我想用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: error: (-215) src.dims <= 2 && src.channels() == 1 && func != 0

我哪里做错了?
提前谢谢你!

1 个回答

1

这个错误信息告诉你,检查条件 src.dims <= 2 && src.channels() == 1 && func != 0 没有通过(也许如果信息不那么复杂,你会更容易看出来?)。特别是,它告诉你通道的数量不是1。

所以你可以考虑只使用一个通道,或者把图像转换成灰度图,比如用这个代码: x = cv2.cvtColor(x, cv2.COLOR_BGR2GRAY)

撰写回答