Notice: file_put_contents(): Write of 20766 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
[PYTHON:TODAY]@python2day P.6537
PYTHON2DAY Telegram 6537
😂 Как размыть лица на фото с помощью 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



tgoop.com/python2day/6537
Create:
Last 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

BY [PYTHON:TODAY]




Share with your friend now:
tgoop.com/python2day/6537

View MORE
Open in Telegram


Telegram News

Date: |

Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. Telegram users themselves will be able to flag and report potentially false content. How to create a business channel on Telegram? (Tutorial) 6How to manage your Telegram channel? Channel login must contain 5-32 characters
from us


Telegram [PYTHON:TODAY]
FROM American