Распознавание изображений

Вы можете просто вставить этот блок в условие:

for i in range(10):
    ... some code happening
    ... some code happening

    if not some_statement:

        ... some code happening
        ... some code happening
5
задан doppelgreener 3 September 2013 в 01:23
поделиться

8 ответов

При необходимости в скорости (Вы будете, вероятно, всегда хотеть скорость с обработкой изображений), определенно необходимо работать с данными необработанного пикселя. Java имеет некоторые реальные недостатки, поскольку Вы не можете получить доступ к памяти непосредственно, которая делает пиксельный доступ довольно медленным по сравнению с доступом к памяти непосредственно. C++ является определенно предпочтительным языком для производственной обработки изображений использования. Но можно, например, также использовать C#, поскольку он допускает небезопасный код в определенных областях. (Смотрите на scan0 свойство указателя bitmapdata класса.) я использовал C# успешно для приложений для обработки изображений, и они определенно намного быстрее, чем их дубликаты Java. Я не использовал бы языка сценариев или Java для такой цели.

7
ответ дан 18 December 2019 в 08:32
поделиться

Это является очень восточным для управления большими многомерными или комплексными массивами информации о пикселе, которые являются изображениями с помощью высокоуровневых языков, таких как Python. Существует библиотека под названием PIL (Библиотека Обработки изображений Python), который довольно полезен и позволит Вам сделать общие фильтры, и преобразования (измените яркость, смягчитесь, desaturate, обрезка, и т.д.), а также управляйте данными необработанного пикселя.

Это - самая легкая и самая простая библиотека изображений, которую я использовал до настоящего времени и могу быть расширен, чтобы сделать независимо от того, что это, Вы интересуетесь (граничное обнаружение в очень небольшом количестве кода, например).

4
ответ дан 18 December 2019 в 08:32
поделиться

Мало того, что C/C++ будет быстрее, но и большая часть примера кода обработки изображений, который Вы находите там, будет в C также, таким образом, будет легче включить вещи, Вы находите.

2
ответ дан 18 December 2019 в 08:32
поделиться

если Вы обращаетесь к численному расчету на своих изображениях (думайте матрица), и Вы в Python проверяете http://www.scipy.org/PyLab - это - в основном способность сделать matlab в Python, мой приятель клянется им.

1
ответ дан 18 December 2019 в 08:32
поделиться

(Это не могло бы запросить OP, кто только хотел пустые основы - но теперь, когда проблема скорости была поднята, я действительно должен записать это, только для справки.)

При реальной необходимости в скорости лучше забыть о работе на попиксельном уровне и скорее видеть, могли ли операции, которые необходимо выполнить, быть векторизованы. Например, для Вашего кода C/C++ Вы могли пользоваться превосходной библиотекой Intel IPP (не, я не работаю на Intel).

1
ответ дан 18 December 2019 в 08:32
поделиться

Это зависит немного от того, что Вы пытаетесь сделать.

Если скорость во время выполнения является Вашей проблемой затем, C++ является лучшим способом пойти.

Если бы скорость разработки является проблемой, тем не менее, я предложил бы смотреть на Java. Вы сказали желание низкоуровневого управления пикселей которые Java сделает для Вас. Но другой вещью, которая могла бы быть проблемой, является обработка различных форматов файлов. Java действительно имеет некоторые очень хорошие API для контакта с чтением и записью различных форматов изображения в файл (в особенности java2d библиотека. Вы принимаете решение проигнорировать более высокие уровни API),

Если бы Вы действительно идете для опции C++ (или Python задумываются о нем), я снова предложил бы, чтобы использование библиотеки получило Вас по проблемам запуска чтения и записи файлов. Я ранее имел успех с libgd

1
ответ дан 18 December 2019 в 08:32
поделиться

Короткий ответ? Я сказал бы, что C++, у Вас есть намного больше гибкости в управлении необработанными блоками памяти, чем Python или Java.

0
ответ дан 18 December 2019 в 08:32
поделиться

Какой язык Вы знаете лучшее? Мне это - реальный вопрос. Если Вы собираетесь провести месяцы и месяцы, уча один конкретный язык, то нет никакого реального преимущества в использовании Python или Java только для их (чтобы быть доказанным) скорость разработки. Я являюсь особенно опытным в C++, и я думаю, что для этой конкретной задачи могу быть столь же быстрым как программист Java, например. При помощи некоторой хорошей библиотеки (OpenCV приходит на ум) можно создать что-либо, в чем Вы нуждаетесь в течение нескольких строк кода C++, действительно.

1
ответ дан 18 December 2019 в 08:32
поделиться
Другие вопросы по тегам:

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