TypeError: Structure_simility () принимает 2 позиционных аргумента, но 8 было дано - PullRequest
0 голосов
/ 22 октября 2019

Когда я вычисляю сходство между двумя изображениями в градациях серого в python и opencv, функция с именем compare_ssim() сообщается неверно.

gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
(score, diff) = compare_ssim(gray1, gray2, full=True)

Сообщение об ошибке выглядит следующим образом:

TypeError: Structure_simility () принимает 2 позиционных аргумента, но было дано 8

Это функция из библиотеки. Из файла _structural_similarity.py. Каталог: \skimage\measure\_structural_similarity.py.

def compare_ssim(X, Y, win_size=None, gradient=False,
                 data_range=None, multichannel=False, gaussian_weights=False,
                 full=False, **kwargs):
    warn('DEPRECATED: skimage.measure.compare_ssim has been moved to '
         'skimage.metrics.structural_similarity. It will be removed from '
         'skimage.measure in version 0.18.', stacklevel=2)
       return structural_similarity(X, Y, win_size, gradient,
                                 data_range, multichannel, gaussian_weights, 
                                 full, **kwargs)

return, в этой строке отображается сообщение об ошибке.

И structural_similarity(). Каталог этой функции: \skimage\metrics\_structural_similarity.py, функция выглядит следующим образом:

def structural_similarity(im1, im2,
                          *,
                          win_size=None, gradient=False, data_range=None,
                          multichannel=False, gaussian_weights=False,
                          full=False, **kwargs):

В чем проблема, почему это так?

Ответы [ 3 ]

0 голосов
/ 22 октября 2019

Я попытался использовать это:

from skimage.metrics import structural_similarity as ssim
...
s = ssim(gray_image_1,gray_image_2)

здесь, grey_image_1.shape = gray_image_2.shape = (420 420). Это сработало для меня (python 3.6.6).

`

0 голосов
/ 23 октября 2019

Спасибо за ваше терпение. Я решил эту проблему. Это должен быть вызов функции error.when я заменяю файл заголовка 'из skimage.measures import compare_ssim' на from skimage.metrics import structural_similarity, и заменяю вызов функции на (score, diff) = structural_similarity(gray1, gray2, full=True), скомпилированный успешно

0 голосов
/ 22 октября 2019
from skimage.metrics import structural_similarity

Попробуйте ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...