В настоящее время я преобразую программу Matlab, которая выполняет анализ изображений, в Python. Одна из специальных c частей программы использует bwlabeln для маркировки различных компонентов в трехмерной матрице с последовательно увеличивающимися метками. Мне удалось найти очень похожую функцию в пакете skimage.measure под названием label, которая, по сути, делает то же самое. Однако я обнаружил, что при использовании входных матриц одинакового размера и типа данных в обеих программах bwlabeln в Matlab работает значительно быстрее (почти в 4 раза быстрее), чем метка в Python.
Мне было интересно, что за причина в этом, и есть ли способ ускорить код Python или улучшить производительность?
В обеих функциях я использую 26 подключенных окрестностей, которые, похоже, работают по умолчанию, но я дополнительно указал в качестве аргумента на всякий случай.