Машинное зрение в Python

Существует множество полезных инструментов низкого уровня из SysSnternals .

И psinfo могут быть наиболее полезными.

Я использовал следующие psinfo-переключатели:

-h        Show installed hotfixes.
-d        Show disk volume information.

Пример вывода:

c:> psinfo \\development -h -d

PsInfo v1.6 - local and remote system information viewer
Copyright (C) 2001-2004 Mark Russinovich
Sysinternals - www.sysinternals.com


System information for \\DEVELOPMENT:
Uptime: 28 days, 0 hours, 15 minutes, 12 seconds
Kernel version: Microsoft Windows XP, Multiprocessor Free
Product type Professional
Product version: 5.1
Service pack: 0
Kernel build number: 2600
Registered organization: Sysinternals
Registered owner: Mark Russinovich
Install date: 1/2/2002, 5:29:21 PM
Activation status: Activated
IE version: 6.0000
System root: C:\WINDOWS
Processors: 2
Processor speed: 1.0 GHz
Processor type: Intel Pentium III
Physical memory: 1024 MB
Volume Type Format Label Size Free Free
A: Removable 0%
C: Fixed NTFS WINXP 7.8 GB 1.3 GB 16%
D: Fixed NTFS DEV 10.7 GB 809.7 MB 7%
E: Fixed NTFS SRC 4.5 GB 1.8 GB 41%
F: Fixed NTFS MSDN 2.4 GB 587.5 MB 24%
G: Fixed NTFS GAMES 8.0 GB 1.0 GB 13%
H: CD-ROM CDFS JEDIOUTCAST 633.6 MB 0%
I: CD-ROM 0% Q: Remote 0%
T: Fixed NTFS Test 502.0 MB 496.7 MB 99%
OS Hot Fix Installed
Q147222 1/2/2002
Q309521 1/4/2002
Q311889 1/4/2002
Q313484 1/4/2002
Q314147 3/6/2002
Q314862 3/13/2002
Q315000 1/8/2002
Q315403 3/13/2002
Q317277 3/20/2002

19
задан KFack 10 August 2015 в 17:04
поделиться

5 ответов

Я мало что знаю об этом пакете Motmot или о том, как он сравнивается с OpenCV, но я импортировал и использовал один или два класса из него. Большая часть обработки изображений выполняется с помощью массивов numpy и может быть достаточно похожей на то, как вы использовали Matlab для удовлетворения ваших потребностей.

0
ответ дан 30 November 2019 в 04:25
поделиться

Вам наверняка пригодится SciPy . Вот вводное руководство для SciPy. Он во многом похож на Matlab. Особенно включенный пакет matplotlib, который явно предназначен для имитации функций построения графиков Matlab. Я не верю, что в SciPy есть эквиваленты для упомянутых вами функций. Есть кое-что похожее. Например, threshold - это очень простая версия серого порога. Он не реализует метод «Оцу», он просто задает простой порог, но он может быть достаточно близким.

Мне очень жаль, что я не знаю никаких руководств, которые ближе к описанной вами задаче. Но если вы привыкли к Matlab и хотите делать это на Python, SciPy является хорошей отправной точкой.

2
ответ дан 30 November 2019 в 04:25
поделиться

OpenCV, вероятно, ваш лучший выбор для библиотека; у вас есть выбор оберток для них. Я посмотрел на оболочку SWIG, которая поставляется со стандартной установкой OpenCV, но в конечном итоге использовал ctypes-opencv , потому что управление памятью казалось более чистым.

Они обе очень тонкие оболочки вокруг кода C, поэтому любой Ссылки на C, которые вы можете найти, будут применимы к Python.

OpenCV огромен и не особенно хорошо документирован, но в каталог с примерами есть несколько достойных примеров, которые вы можете использовать для начала. Ссылка на API OpenCV с возможностью поиска находится здесь .

Вы не упомянули, ищете ли вы источники в Интернете или в печати, но у меня есть O ' Reilly , и она неплохая (примеры на C, но легко переводимые).

Функция FindContours немного похожа на regionprops; он предоставит вам список подключенных компонентов, которые вы затем можете изучить, чтобы получить информацию о них.

Для определения порога вы можете попробовать Threshold . Я был уверен, что вы можете передать ему флаг, чтобы использовать метод Otsu, но, похоже, он не указан в документации.

Я не встречал конкретных функций, соответствующих gray2ind, но они могут быть там .

Для определения порога вы можете попробовать Порог . Я был уверен, что вы можете передать ему флаг, чтобы использовать метод Otsu, но, похоже, он не указан в документации.

Я не встречал конкретных функций, соответствующих gray2ind, но они могут быть там .

Для определения порога вы можете попробовать Порог . Я был уверен, что вы можете передать ему флаг, чтобы использовать метод Otsu, но, похоже, он не указан в документации.

Я не встречал конкретных функций, соответствующих gray2ind, но они могут быть там .

13
ответ дан 30 November 2019 в 04:25
поделиться

Я получил изображение с камеры FW с помощью .NET и IronPython. На CPython я бы проверил библиотеку ctypes, если вы не найдете библиотечной поддержки для захвата.

0
ответ дан 30 November 2019 в 04:25
поделиться

документация: Несколько лет назад я довольно часто использовал OpenCV, упакованный для Python. OpenCV широко документирован, поставляется с множеством примеров и даже есть книга . Обертки Python, которые я использовал, были достаточно тонкими, поэтому требовалось очень мало документации, относящейся к оболочке (и это типично для многих других библиотек с оболочкой). Я представляю, что несколько минут, глядя на пример, например, модульные тесты PyCV - это все, что вам нужно, а затем вы можете сосредоточиться на документации OpenCV, которая соответствует вашим потребностям.

анализ: Что касается того, есть ли лучшая библиотека, чем OpenCV, мое несколько устаревшее мнение состоит в том, что OpenCV великолепен, если вы хотите делать довольно сложные вещи (например, отслеживание объектов), но это, возможно, излишне для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

а затем вы можете сосредоточиться на документации OpenCV, которая соответствует вашим потребностям.

анализ: Что касается того, есть ли лучшая библиотека, чем OpenCV, мое несколько устаревшее мнение состоит в том, что OpenCV отлично подходит, если вы хотите делать довольно сложные вещи (например, отслеживание объектов ), но это, возможно, излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

а затем вы можете сосредоточиться на документации OpenCV, которая соответствует вашим потребностям.

анализ: Что касается того, есть ли лучшая библиотека, чем OpenCV, мое несколько устаревшее мнение состоит в том, что OpenCV отлично подходит, если вы хотите делать довольно сложные вещи (например, отслеживание объектов ), но это, возможно, излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

анализ: Что касается того, есть ли лучшая библиотека, чем OpenCV, мое несколько устаревшее мнение состоит в том, что OpenCV хорош, если вы хотите делать довольно сложные вещи (например, отслеживание объектов), но, возможно, это излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

анализ: Что касается того, есть ли лучшая библиотека, чем OpenCV, мое несколько устаревшее мнение состоит в том, что OpenCV хорош, если вы хотите делать довольно сложные вещи (например, отслеживание объектов), но, возможно, это излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

грамм. отслеживание объектов), но это, возможно, излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

грамм. отслеживание объектов), но это, возможно, излишек для ваших нужд. Похоже, что scipy ndimage в сочетании с некоторыми базовыми манипуляциями с массивом numpy может быть достаточно.

Приобретение: варианты, о которых я знаю для приобретения, - это OpenCV, Motmot или использование ctypes для прямого взаимодействия с драйверами. Из них я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

я никогда не использовал Motmot, потому что у меня были проблемы с его установкой. Остальные методы я нашел довольно простыми, хотя я не помню деталей (что хорошо, поскольку означает, что это было легко).

7
ответ дан 30 November 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: