Java или C для обработки изображений

Я заглядываю к изучению языка программирования (возьмите курс) для использования в анализе изображения и обработке. Возможно Биоинформатика также. Для какого языка я должен пойти? C или Java? Другие языки не являются опцией для меня. Также объясните, почему любой из языков является более оптимальным вариантом для моего приложения.

6
задан its-me 14 June 2010 в 17:16
поделиться

4 ответа

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

Все зависит от громкости.

Что еще более важно, я предлагаю вам поискать библиотеки и фреймворки, которые уже существуют, посмотреть, какие из них наиболее подходят для того, что необходимо сделать, и выбрать любой язык, на котором была написана библиотека, будь то C, Java или Fortran.

Для Java я нашел BioJava.org в качестве отправной точки.

4
ответ дан 9 December 2019 в 20:40
поделиться

Спросите кого-нибудь из области, в которой вы работаете (например, биоинформатики).

Для изображений Солнца большая часть работы выполняется в IDL, Fortran, Matlab, Python, C или Perl (PDL). (Примерно в таком порядке ... IDL определенно является первым, поскольку большая часть программного обеспечения для калибровки приборов написана на IDL)

По этой причине для нашей области уже написано множество наборов инструментов на этих языках. Часто с большими наборами справочных данных PI выпускает некоторый программный пакет в качестве примера того, как интерпретировать / взаимодействовать с форматом данных. Могу только предположить, что Биоинформатика будет похожа.

Если вы в конечном итоге пойдете другим путем, чем остальные, вам будет намного труднее работать с другими учеными, поскольку вы не сможете так легко делиться кодом.

Примечание. В нашей области есть ряд инструментов визуализации, которые были написаны на Java, но они предполагают, что изображения уже были подготовлены каким-то другим процессом.

3
ответ дан 9 December 2019 в 20:40
поделиться

В идеале вы должны использовать что-то вроде Java или (даже лучше) Python для "высокоуровневых" вещей и компилировать на C процедуры, требующие большой вычислительной мощности (например, используя Cython , так далее).

Для Python существуют некоторые научные библиотеки (SciPy и NumPy), и они являются хорошим началом, хотя объединить Python и C пока непросто (вам нужно немного подправить).

0
ответ дан 9 December 2019 в 20:40
поделиться

Java не так уж плоха для обработки изображений. Если вы правильно управляете исходными объектами, у вас есть шанс получить приемлемую производительность. Некоторые вещи, которые мне нравятся в Java, связанные с обработкой изображений:

  1. Java Advanced Imaging
  2. Утилиты 2D-графики (посмотрите на BufferedImages)
  3. ImageJ и т.д.
  4. Заставьте его работать с JAMA
4
ответ дан 9 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

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