2013-02-13 5 views
1

У меня возникла проблема, которую я не могу решить. Я пытаюсь сделать временный медианный фильтр, используя метод sort(), но я просто не могу этого сделать. Это самый простой тест я попробовал:Сортировка() В Opencv + Python

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

В сообщении об ошибке сообщается, что чеки src.dims <= 2 && src.channels() == 1 && func != 0 не удались (возможно, если бы они были менее загромождены, вам не составит труда увидеть это?). В специальном случае вам сообщается, что количество каналов не равно 1.

Таким образом, вы можете рассмотреть один из каналов или преобразовать изображение, например, в оттенки серого: x = cv2.cvtColor(x, cv2.COLOR_BGR2GRAY).

+0

да, вы сделали это ... теперь, когда я думаю об этом, его действительно глупо иметь изображение в RGB. Благодаря (: –