Почему функция водораздела от SciKit слишком медленная? - PullRequest
0 голосов
/ 12 декабря 2018

Я сделал сравнение между временем выполнения только для функций водораздела в OpenCV, Skimage (SciPy) и BoofCV.Хотя OpenCV выглядит намного быстрее, чем два других (среднее время: 0,0031 секунды на 10 выборок), время выполнения Skimage значительно варьируется (от 0,03 до 0,554 секунды).Мне интересно, почему это происходит?Разве это не должна быть нативная функция Python?

1 Ответ

0 голосов
/ 14 декабря 2018

Трудно узнать без подробностей, почему ваше приложение работает медленно.В целом, однако, код scikit-image не так оптимизирован, как OpenCV, но охватывает еще много вариантов использования.Например, он может работать со значениями с плавающей запятой в качестве входных данных, а не только с uint8, и может работать с трехмерными изображениями или даже изображениями с более высокими размерами.

О производительности: OpenCV кодируется на высокооптимизированном C / C ++в то время как scikit-image кодируется в Cython, гибридном языке, который компилирует код Python в C, достигая C-производительности.Тем не менее, некоторые оптимизации недоступны в Cython, и, как я упоминал выше, есть различия в том, что на самом деле реализовано, что приводит к разнице в производительности.

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