Рубрики
Без рубрики

Использование OpenCV: разработано веб-приложение для конвертации изображений в стиль Manga

Эй, ребята, 👋👋👋 Я разработал веб-приложение, которое преобразует изображения в стиль манги. Веб-сайт:… Помечено с OpenCV, WebDev, Python, Tailwindcss.

tryatleast1article1week (17 частей серии)

Эй, ребята 👋👋👋.

Я разработал веб-приложение, которое преобразует изображения в мангу стиль.

Сайт: https://manga.art-creator.net/ GitHub: Frestend: https://github.com/yuikoito/manga-creator-frontend Backend: https://github.com/yuikoito/manga-backend.

Нравится!

※ Эта статья является девятой неделей попытки написать хотя бы одну статью каждую неделю.

  • Обнаружение лица с Tensorflow 【React + Tymdercript】
  • Сайт компонентов UI выпущен!
  • Я сделал 18 компонентов пользователей для всех разработчиков
  • Преобразование изображений: преобразовать картинки, чтобы добавить стили из известных картин
  • Разработано приложение для транскрибирования и перевода из изображений
  • Создайте изображения открытых графов с помощью Next.js и Teadercript на Vercel
  • Opencv в лямбдах: Создал API для преобразования изображений в стиль ASCIO ASCII ASCII с использованием AWS и Opencv
  • Разработано веб-приложение для конвертации изображений в стиль ASCII ASCII ASCII

использование

Посетить https://manga.art-creator.net/ Затем загрузите изображение, что вы хотите конвертировать стиль манга.

Всего четыре шага.

  • Выберите изображение
  • Выберите эффекты вы хотите

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

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

  • Нажмите кнопку Конвертировать
  • Тогда подожди

После выбора эффекта нажмите кнопку «Преобразование» и подождите несколько секунд, и он будет преобразован. Поскольку я не использую машину обучения на этот раз, я думаю, что преобразование будет довольно быстро.

Вам даже не нужно войти, так что посмотрите и наслаждайтесь свободно!

Сочинение

Он состоит из следующих

Фронт . NUXT.JS + CASTWIND CSS BARDEND ….python Asization …. AWS Hosting …. Vercel

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

Способ сделать API, вы можете увидеть эту статью.

Как добавить эффекты

Для фонового эффекта набросок извлекается, обрезан, а затем в сочетании с изображением.

# Add a background effect
def back_filter(src, manga, effect, th):
    # Grayscale conversion
    img = cv2.bitwise_not(src)
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    effect = cv2.cvtColor(effect, cv2.COLOR_BGR2GRAY)

    # Resize the screen tone image to the same size as the input image.
    effect = cv2.resize(effect,(img_gray.shape[1],img_gray.shape[0]))

    # binarization
    ret, img_binary = cv2.threshold(img_gray, th, 255,cv2.THRESH_BINARY)

    # Contour extraction
    contours, _ = cv2.findContours(img_binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    # Get the contour with the largest area
    contour = max(contours, key=lambda x: cv2.contourArea(x))

    mask = np.zeros_like(img_binary)
    cv2.drawContours(mask, [contour], -1, color=255, thickness=-1)
    effect = np.where(mask == 0, effect, manga)

    # Combine tri-level image and contour image
    return effect

Эффект на вершине изображения гораздо проще, это просто композит.

# front effect
def front_filter(manga, effect):

    effect = cv2.resize(effect,(manga.shape[1], manga.shape[0]))
    # Mask Image Generator
    mask = effect[:,:,3]

    # Grayscale the effect
    effect = cv2.cvtColor(effect, cv2.COLOR_BGR2GRAY)

    # Combine tri-level image and contour image
    manga = np.where(mask == 0, manga, effect)
    return manga

Для приведенной выше конфигурации фоновый эффект сохраняется как JPG, а эффект на изображении как PNG, прозрачное фоновое изображение.

Вот и все!

Спасибо за чтение. Это какое-то приложение Joking, но я очень рад, если вам наслаждаюсь!

🍎🍎🍎🍎🍎🍎.

Пожалуйста, пришлите мне сообщение, если вам нужно.

yuiko.dev@gmail.com https://twitter.com/yui_active

🍎🍎🍎🍎🍎🍎.

tryatleast1article1week (17 частей серии)

Оригинал: “https://dev.to/yuikoito/using-opencv-developed-a-web-app-to-convert-images-to-manga-style-23p0”