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

Прочитайте полную статью с исходным кодом здесь —https://machinelearningprojects.net/sketch-using-opencv/

Давай сделаем это…

Код для создания эскиза с использованием OpenCV…

import cv2
import numpy as np

def sketch(image):
    gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    blur_gray = cv2.GaussianBlur(gray,(5,5),900)
    edges = cv2.Canny(blur_gray,45,90)
    ret,thre = cv2.threshold(edges,70,255,cv2.THRESH_BINARY_INV)
    return thre

cam = cv2.VideoCapture(0)

while 1:
    ret,frame = cam.read()
    cv2.imshow('Live Sketch', sketch(frame))
    if cv2.waitKey(1)==27:
        break
    if cv2.waitKey(1)==13:
        cv2.imwrite('sketch.jpg',sketch(frame))
        print('Image Saved!!!')

cam.release()
cv2.destroyAllWindows()
  • Строка 1–2 — Импорт необходимых библиотек.
  • Строка 4–9 — Определение функции эскиза. Мы будем использовать эту функцию для реализации скетчей с помощью OpenCV.
  • Строка 5 — Преобразование изображения из BGR в серый цвет.
  • Строка 6 — Размытие по Гауссу изображения, чтобы убрать Гауссовский шум.
  • Строка 7 — Найдите края на изображении с помощью Canny Edge Detection.
  • Строка 8 — Пороговое изображение, для преобразования его в бинарное изображение (всего 0 и 255 пикселей).
  • Строка 9 — вернуть пороговое изображение.
  • Строка 11 — Создайте экземпляр камеры с помощью cv2.VideoCapture(0). Здесь 0 означает, что будет использоваться веб-камера.
  • Строка 13 — Запускаем цикл.
  • Строка 14 — Чтение изображения/кадра с камеры.
  • Строка 15 — Показать изображение эскиза, возвращаемое функцией эскиза, когда в него передается текущий кадр.
  • Строка 16–17 — Если кто-то нажмет клавишу ESC, взломайте код.
  • Строка 18–20 — Если кто-то нажмет клавишу ENTER, сохраните скетч.
  • Строка 22–23 — закрыть веб-камеру и уничтожить все открытые окна.

Окончательные результаты…

Дайте мне знать, если есть какие-либо вопросы относительно эскиза с использованием OpenCV, связавшись со мной по электронной почте или LinkedIn.

Для дальнейшего объяснения кода и исходного кода посетите здесьhttps://machinelearningprojects.net/sketch-using-opencv/

Итак, это все для этого блога, ребята, спасибо за то, что прочитали его, и я надеюсь, что вы возьмете что-то с собой после прочтения этого и до следующего раза 👋…

Прочитайте мой предыдущий пост: IMMORTAL SNAKE GAME IN PYTHON С ИСПОЛЬЗОВАНИЕМ OPENCV

Ознакомьтесь с другими моими проектами машинного обучения, проектами глубокого обучения, проектами компьютерного зрения, проектами НЛП, проектами Flask на machinelearningprojects.net.