TG Telegram Group & Channel
[PYTHON:TODAY] | United States America (US)
Create: Update:

😂 Как размыть лица на фото с помощью Python и OpenCV

Если тебе нужно быстро замазать лица на снимке — вот тебе универсальный скрипт!

Работает на основе каскадов Хаара и добавляет эффект размытия по каждому найденному лицу.

💻 Готовый скрипт:

import cv2
from typing import Tuple


def load_image(path: str) -> cv2.Mat:
"""Загружает изображение с указанного пути."""
image = cv2.imread(path)
if image is None:
raise FileNotFoundError(f"Изображение не найдено: {path}")
return image


def detect_faces(image: cv2.Mat) -> Tuple[Tuple[int, int, int, int], ...]:
"""Находит лица на изображении с помощью каскада Хаара."""
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + "haarcascade_frontalface_default.xml"
)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
return tuple(faces)


def blur_faces(image: cv2.Mat, faces: Tuple[Tuple[int, int, int, int], ...]) -> cv2.Mat:
"""Размывает найденные лица на изображении."""
for (x, y, w, h) in faces:
face_roi = image[y:y+h, x:x+w]
blurred = cv2.GaussianBlur(face_roi, (99, 99), 30)
image[y:y+h, x:x+w] = blurred
return image


def save_image(image: cv2.Mat, path: str) -> None:
"""Сохраняет изображение на диск."""
cv2.imwrite(path, image)


if __name__ == "__main__":
input_path = "/home/kali/Coding/TEST/man.png"
output_path = "blurred_faces.jpg"

img = load_image(input_path)
found_faces = detect_faces(img)

print(f"👀 Найдено лиц: {len(found_faces)}")

blurred_img = blur_faces(img, found_faces)
save_image(blurred_img, output_path)

print(f" Сохранено: {output_path}")


👨‍💻 Возможности:
🖱 Автоматическое обнаружение лиц;
🖱 Размытие без потери качества остальной части фото;
🖱 Работает за считанные секунды;
🖱 Код полностью на Python + OpenCV.

📂 Сохраняй и экспериментируй! Лойс не забудь поставить 👍

#python #soft #code

😂 Как размыть лица на фото с помощью Python и OpenCV

Если тебе нужно быстро замазать лица на снимке — вот тебе универсальный скрипт!

Работает на основе каскадов Хаара и добавляет эффект размытия по каждому найденному лицу.

💻 Готовый скрипт:

import cv2
from typing import Tuple


def load_image(path: str) -> cv2.Mat:
"""Загружает изображение с указанного пути."""
image = cv2.imread(path)
if image is None:
raise FileNotFoundError(f"Изображение не найдено: {path}")
return image


def detect_faces(image: cv2.Mat) -> Tuple[Tuple[int, int, int, int], ...]:
"""Находит лица на изображении с помощью каскада Хаара."""
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier(
cv2.data.haarcascades + "haarcascade_frontalface_default.xml"
)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
return tuple(faces)


def blur_faces(image: cv2.Mat, faces: Tuple[Tuple[int, int, int, int], ...]) -> cv2.Mat:
"""Размывает найденные лица на изображении."""
for (x, y, w, h) in faces:
face_roi = image[y:y+h, x:x+w]
blurred = cv2.GaussianBlur(face_roi, (99, 99), 30)
image[y:y+h, x:x+w] = blurred
return image


def save_image(image: cv2.Mat, path: str) -> None:
"""Сохраняет изображение на диск."""
cv2.imwrite(path, image)


if __name__ == "__main__":
input_path = "/home/kali/Coding/TEST/man.png"
output_path = "blurred_faces.jpg"

img = load_image(input_path)
found_faces = detect_faces(img)

print(f"👀 Найдено лиц: {len(found_faces)}")

blurred_img = blur_faces(img, found_faces)
save_image(blurred_img, output_path)

print(f" Сохранено: {output_path}")


👨‍💻 Возможности:
🖱 Автоматическое обнаружение лиц;
🖱 Размытие без потери качества остальной части фото;
🖱 Работает за считанные секунды;
🖱 Код полностью на Python + OpenCV.

📂 Сохраняй и экспериментируй! Лойс не забудь поставить 👍

#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍88🔥8🫡86


>>Click here to continue<<

[PYTHON:TODAY]






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)