CV4J
Проект
-
Название проекта: CV4J.
-
Серия: openharmony, серия сторонних компонентов для адаптации и переноса.
-
Функция: библиотека обработки изображений в реальном времени на Java (CV in Java).
-
Состояние переноса: основные функции реализованы.
-
Различия в вызовах: отсутствуют.
-
Версия разработки: SDK6, DevEco Studio2.2 Beta1.
-
Базовая версия: Release v0.0.1.
Демонстрация эффекта
Демонстрация эффекта не представлена в запросе.
Инструкция по установке
- В файле build.gradle в корневом каталоге проекта:
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/snapshots/'
}
}
}
- В файле build.gradle модуля entry:
dependencies {
implementation 'com.gitee.chinasoft_ohos:cv4j:0.0.1-SNAPSHOT'
implementation 'com.gitee.chinasoft_ohos:rxcv4j:0.0.1-SNAPSHOT'
......
}
В версии SDK6 и DevEco Studio 2.2 Beta1 проект можно запустить напрямую. Если запуск не удаётся, удалите файлы .gradle, .idea, build, gradle и build.gradle и создайте новый проект с использованием собственной версии. Скопируйте файлы из нового проекта в корневой каталог.
Использование
Использование библиотеки очень простое. Достаточно изучить примеры исходного кода.
CV4JImage cv4JImage = new CV4JImage(bitmap);
image2.setImageBitmap(cv4JImage.toBitmap());
Реализованные функции:
- BoxBlurFilter — размытие по Гауссу, поддерживает горизонтальное и вертикальное размытие, радиус обычно равен нечётному числу: 1, 3, 5, 7, 9, 11 или 15. Быстрый алгоритм размытия.
- CarveFilter — эффект резьбы, поддерживает два типа резьбы в зависимости от логического параметра. Вычисление разницы пикселей.
- ColorFilter — сопоставление цветов, поддержка 12 стилей преобразования цвета (эквивалент 12 фильтров). Быстрый поиск по таблице.
- ConBriFilter — регулировка контрастности и яркости изображения, по умолчанию контраст повышается, яркость снижается, значения по умолчанию равны 1.2 и 0.7 соответственно. Регулировка контраста и яркости.
- EmbossFilter — эффект тиснения, похож на эффект резьбы, но более гибкий, позволяет выполнять больше корректировок значений пикселей. Эффект тиснения.
- ExposureFilter — эффект экспозиции, основан на инверсии значений пикселей изображения, имеет эффект, подобный эффекту вспышки камеры. Эффект вспышки.
- FastEPFilter — фильтр сохранения границ, основанный на интегральной графике, фильтр сохранения границ является хорошим алгоритмом подавления шума и часто используется для реализации ключевого шага улучшения лица. Сохранение границ.
- FloSteDitheringFilter — эффект дрожания, основанный на алгоритме расширения ошибок, реализует заполнение и бинаризацию пикселей с эффектом дрожания. Эффект дрожания.
- GammaFilter — коррекция гаммы, основанная на коррекции после съёмки камерой. Коррекция гаммы.
- GaussianBlurFilter — гауссово размытие, основано на формуле Гаусса, эффект размытия лучше, чем у BoxBlurFilter, но скорость медленнее. Гауссово размытие.
- GaussianNoiseFilter — гауссовский шум, генерирует гауссовские случайные шумы и использует гауссовские случайные шумы в изображении. Гауссовский шум.
- GlowFilter — световой эффект, имитирует естественное освещение в изображении. Световой эффект.
- GradientFilter — градиентный эффект, основан на операторе градиента первого порядка для достижения градиентного эффекта изображения, хорошо показывает основной контур и границу изображения. Градиентный эффект.
- MeansBinaryFilter — чёрно-белый эффект, основанный на среднем значении изображения для достижения бинаризации изображения. Чёрно-белое изображение.
- MosaicFilter — мозаичный эффект, основан на интегральном графике для достижения мозаичного эффекта изображения, быстрый и эффективный, поддерживает прямоугольную мозаику. Мозаичный эффект.
- MotionFilter — эффект движения, основан на размытии и геометрическом преобразовании для достижения эффекта размытого движения изображения. Эффект размытого движения.
- NatureFilter — естественный фильтр, в общей сложности восемь естественных цветовых фильтров (эквивалентно восьми фильтрам) в соответствии с параметрами. Естественный эффект.
- OilPaintFilter — масляный эффект, основан на контуре и распределении цвета для достижения масляного эффекта, реалистично имитирует осенний пейзаж. Масляный эффект.
- SepiaToneFilter — ретро-эффект, классический ретро-фильтр для изображений, создаётся за одну секунду. Ретро-эффект.
- SinCityFilter — эффект города грехов, основан на изменении локальных значений пикселей для достижения контрастного эффекта, можно регулировать диапазон порога и значение контраста в соответствии с входными параметрами. Эффект города грехов.
- SpotlightFilter — эффект прожектора, основан на расстоянии от центрального пикселя для регулировки яркости изображения, создаёт эффект расширения яркости. Эффект прожектора.
- StrokeAreaFilter — эффект карандаша, имитация эффекта размытия карандаша, может превратить входное изображение в рисунок карандашом, детализация зависит от параметров. Эффект карандаша.
- VignetteFilter — эффект рамки, добавляет трёхмерную рамку к изображению, рамка по умолчанию чёрная, можно настроить размер и цвет рамки с помощью входных параметров. Трёхмерный эффект рамки.
- WaterFilter — эффект водной ряби, имитирует эффект расширения водной ряби на входном изображении. Эффект водной ряби.
- WhiteImageFilter — усиление белого, регулирует яркость изображения в соответствии с параметром, имеет эффект усиления белого на фотографиях. Усиление белого.
Пространственные фильтры свёртки
Фильтр |
Название |
Функция |
ConvolutionHVFilter |
Свёртка |
Размытие или шумоподавление |
MinMaxFilter |
Фильтр максимальных и минимальных значений |
Шумоподавление |
SAPNoiseFilter |
Соль и перец |
Добавление шума |
SharpFilter |
Резкость |
Усиление |
MedimaFilter |
Медианный фильтр |
Шумоподавление |
LaplasFilter |
Лапласиан |
Извлечение границ |
FindEdgeFilter |
Поиск границ |
Градиентное извлечение |
SobelFilter |
Собелевское преобразование |
Получение градиентов x и y |
VarianceFilter |
Вариационный фильтр |
Высокочастотный фильтр |
MaerOperatorFilter |
Оператор Марра |
Высокочастотный фильтр |
USMFilter |
USM |
Усиление |
Тестирование
- CodeCheck — тестирование кода без исключений.
- CloudTest — тестирование кода без исключений.
- Проверка на вирусы — пройдена.
- Текущая версия demo аналогична исходной версии компонента.
Версия
0.0.1-SNAPSHOT.
Опубликовать ( 0 )