Intereting Posts
Хранить пользовательские объекты (Пользовательский obj) в базе данных Androidite Android Android Build Target нельзя выбрать в eclipse Виджет Android с несколькими кнопками Как запросить песни в плейлистах на Android SDK? Ограничения квоты на Android Geocoder ViewPagerIndicator: Ошибка: Artifact 'com.viewpagerindicator: library: 2.4.1: library.aar' not found ANR Выполнение сервиса com.example.app/com.google.android.gms.analytics.AnalyticsService Ошибка «Вы не должны вызывать setTag () при просмотре. Glide нацеливается на« когда используется Glide Обнаружение при выполнении ValueAnimator Некоторое сбой хэширования файла, см. Журналы для подробностей Как отключить любое событие в представлении в Android? Android: как деформировать изображения? Android: используйте базу данных SQLite на SD-карте (вообще не используя встроенный Android-хранилище данных) Как видеть нажатые изображения на SD-карту в эмуляторе Приложение не будет работать на устройстве: DELETE_FAILED_INTERNAL_ERROR?

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

В настоящее время я работаю над небольшим проектом, который загружает изображение с URL-адреса, изменяет размер и изменяет глубину цвета до 16 цветов, используя указанную цветовую палитру. Главная проблема для меня в том, что я хочу программу, которую я могу использовать на устройстве Android и на настольном компьютере. Вы знаете хорошую библиотеку обработки изображений, которая работает в обеих системах?

Заранее спасибо.

Solutions Collecting From Web of "Библиотека обработки изображений для Android и Java"

Существует несколько инструментов:

Ответы на этой странице довольно датированы по состоянию на февраль 2014 года. Я искал бесплатную библиотеку обработки изображений для Android, и я наткнулся на лекции Стэнфорда здесь: http://www.stanford.edu/class/ee368/Android/ index.html

Изучив еще немного, я узнал, что они используют OpenCV в своем материале курса. Он имеет интерфейс Java (наряду со многими другими языками), но библиотека написана изначально на C ++. Они заявляют, что:

Наряду с такими хорошо известными компаниями, как Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota, которые используют библиотеку, есть много стартапов, таких как Applied Minds, VideoSurf и Zeitera, которые широко используют OpenCV.

Я взволнован (!), Чтобы найти это, с нетерпением жду, чтобы вернуться домой и уйти.

Android NDK позволяет использовать существующую библиотеку C / C ++, которая не требует java.awt или любого из классов Android. Например, вы можете легко скомпилировать libpng как общую библиотеку для Android, а затем написать интерфейс JNI для передачи изображений с уровня Java в библиотеку png. Аналогичным образом, вы также сможете скомпилировать libpng как общую библиотеку для своего настольного компьютера и использовать ее оттуда.

Недавно я написал учебное пособие о том, как скомпилировать библиотеки с открытым исходным кодом для Android. Если вы просматриваете исходный код Android, вы найдете несколько классов, которые используют графическую библиотеку skia через jni. Раньше я не использовал skia, но, поскольку Android имеет skia в своей базовой структуре, не должно быть слишком сложно заставить его работать в вашей программе приложения / рабочего стола.

Написание кросс-платформенных программ является областью, представляющей большой интерес среди сообщества разработчиков мобильных устройств, и некоторые из них, такие как libgdx , очень хорошо справились с этим. То, что вы пытаетесь, безусловно, возможно.

октоат

Я не думаю, что есть библиотека, которая существует, которая делает то, что вы хотите, причина в том, что на немобильной платформе каждая графическая операция, которую вы собираетесь использовать в Java, в какой-то степени будет использовать конвейер рендеринга Java2D. На Android этого не существует.

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

Все, что было сказано, похоже, что вы нашли библиотеку (JJIL), которая действует как слой абстракции поверх этих различий, в этом случае я немного обеспокоен производительностью и проведу некоторые тесты в своем собственном коде, чтобы увидеть, как это происходит Выполняется по сравнению с методами платформы. Например, я видел эту цитату из JJIL:

Позволяет конвертировать изображения из растровых изображений Android в JJIL RgbImages

Когда я смотрю на источник для RgbImages , похоже, что данные изображения преобразуются и сохраняются во внутреннем массиве; Все эти уровни абстракции будут стоить вам процессорного времени и памяти, особенно, поскольку изображения на мобильных устройствах становятся больше благодаря камерам с более высоким разрешением и высокоскоростным соединениям.

Это может быть не так уж и важно, но, опять же, вы, вероятно, захотите провести сравнение профилирования / тестирования / производительности.

Любая чистая библиотека Java должна работать на обеих платформах. Поиск Google в «Библиотеке обработки изображений Java» дал несколько результатов. Попытайтесь найти самый легкий вес lib, который служит вашим целям, так как память и процессор ограничены на мобильных устройствах.

Барри