반응형

Python/Vision Code 11

[OpenCV, Pillow] 이미지 저장 과정에서 색감 정보 보존 방법(크로마, icc profile 보존)

안녕하세요. 이번 글에서는 python opencv와 Pillow로 이미지 파일을 읽고 쓰는 과정에서원본의 색감 정보를 손실되지 않게 하면서 저장하는 방법을 다루어보도록 하겠습니다. OpenCV에서 그냥 읽고 쓰는 경우다음과 같은 png 파일 이미지를 OpenCV에서 단순히 read 및 write한 경우의 결과를 먼저살펴보도록 하겠습니다. import cv2src_path = "example.png"# 그냥 read -> writeimg = cv2.imread(src_path, cv2.IMREAD_COLOR)cv2.imwrite("out_cv_default.jpg", img) # q≈95, 크로마 4:2:0, ICC 없음위와 같은 코드 스니펫으로 저장된 이미지의 상태는 다음과 같습니다.이미지의 상태를..

Python/Vision Code 2025.11.26

[OpenCV] cv2.resize 보간 방법 정리

안녕하세요. 이번 글에서는 python opencv에서 이미지의 크기를 변경할 때,resize 시 적용되는 보간 방법들에 대하여 간략하게 요약해보도록 하겠습니다. 보간(Interpolation) 이란?이미지 크기를 변경하면 원본의 특성을 최대한 유지하면서 픽셀의 값을 다시 계산해야 합니다.이때, 주변 픽셀 값을 이용해 새로운 값을 추정하는 과정이 바로 보간입니다. cv2.resize 함수로 이미지의 해상도를 쉽게 변경할 수 있는데요.opencv에서는 크게 5가지 정도의 보간 방법을 제공하고 있습니다.cv2.INTER_NEAREST - 최근접 이웃cv2.INTER_LINEAR - 선형 보간 (기본값)cv2.INTER_CUBIC - 3차 보간cv2.INTER_AREA - 영역 보간cv2.INTER_LANC..

Python/Vision Code 2025.11.16

[OpenCV] 아핀 변환 함수 cv2.warpAffine 예제로 사용법 알아보기

안녕하세요.이번 글에서는 python opencv에서 제공하는 아핀 변환 함수인cv2.warpAffine에 대하여 몇 가지 대표적인 활용 예제를 중심으로사용법을 살펴보도록 하겠습니다. 먼저, 다음과 같은 모듈 설치 과정과 시각화 헬퍼 함수를 구현해보도록 하겠습니다.# 모듈 설치 명령어: !pip install opencv-python numpy matplotlibimport cv2import numpy as npimport matplotlib.pyplot as plt# 이미지를 화면에 표시하는 헬퍼 함수def show_images(images, titles, figsize=(15, 5)): plt.figure(figsize=figsize) for i, (img, title) in enumera..

Python/Vision Code 2025.10.19

insightface FaceAnalysis로 얼굴 추출 및 정보 분석 예제

안녕하세요.이번 시간에는 insightface 모듈의 FaceAnalysis 기능을 통하여python으로 얼굴을 추출하고 정보를 분석해보는 예제를 간략하게 다루어보도록 하겠습니다. 모듈 설치우선, 예제를 다루기 전에 필요한 모듈들을 설치하도록 하겠습니다.명령어는 다음과 같습니다.!pip install insightface onnxruntime opencv-python Pillow 얼굴 분석 준비모듈 설치가 완료되었다면, 얼굴 분석은 다음과 같은 코드로 진행할 수 있습니다.import cv2import numpy as npfrom insightface.app import FaceAnalysisimport matplotlib.pyplot as plt# 1. 얼굴 분석 모델 준비(GPU 환경이라면 'CUD..

Python/Vision Code 2025.10.12

파이썬 diffusers 모듈로 stable diffusion 사용해보기 예제

안녕하세요.이번 시간에서는 Python에서 diffusers 모듈을 이용하여허깅페이스에서 스테이블 디퓨전 모델을 쉽게 불러와서이미지를 원하는대로 생성해보는 예제를 다루어보도록 하겠습니다. 1. 모듈 설치먼저, 필요한 모듈을 다음 명령어를 통하여 설치해보도록 하겠습니다.!pip install diffusers transformers accelerate torch 2. 모델 불러오기 및 이미지 생성모듈 설치 후, 아래의 코드 스니펫으로 허깅페이스에서 모델을 불러와이미지 생성을 진행해볼 수 있습니다.(초기 실행 시에는 모델 다운로드에 수 분 정도가 소요될 수 있습니다.)import torchfrom diffusers import AutoPipelineForText2Image# 1. 모델과 파이프라인 불러오..

Python/Vision Code 2025.10.03

[OpenCV + Numpy] Film Grain 효과 추가 예제 코드

안녕하세요.이번 글에서는 이미지에 필름 그레인 효과를 OpenCV와 Numpy를 활용하여추가해보는 간단한 예제 코드를 다루어보도록 하겠습니다. 코드 스니펫 예시는 다음과 같습니다.import cv2import numpy as npimport argparsedef add_film_grain( img_bgr: np.ndarray, amount: float = 0.06, # 전체 그레인 강도 (0.0~0.3 권장) size: float = 1.2, # 입자(노이즈) 스케일; 클수록 거칠고 큼 monochrome: bool = True, # True면 흑백 그레인(영화 느낌), False면 컬러 그레인 shadow_boost: float = 0.6, # 그림..

Python/Vision Code 2025.09.27

Pytorch로 Face Segmentation 해보기 간단 예제

안녕하세요. 이번 글에서는파이토치로 얼굴 이미지에 대하여 부위별 세그멘테이션을 진행하는 아주 간단한 예제 코드를 다루어보도록 하겠습니다. 먼저, 필요한 모듈들을 설치해줍니다.pytorch의 경우에는 반드시 CUDA의 버전과 호환되도록 맞추어서 설치해주셔야 합니다.$pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 # CUDA 12.4용 예시$pip install transformers pillow matplotlib requests 모듈 설치가 완료되었다면 아래의 코드 스니펫으로 Face Segmentation을진행해보실 수 있습니다. 초기 코드 실행 시에 한해서 모델 다운로드가 진행됩니다..

Python/Vision Code 2025.07.07

파이썬에서 이미지 간 유사도 지표 LPIPS 계산 방법

안녕하세요.이번 시간에는 Python에서 대표적인 이미지 간 유사도 지표 중에 하나인 LPIPS를계산하는 예제에 대해서 다루어보도록 하겠습니다. 먼저, 필요한 라이브러리 설치를 진행해줍시다.!pip install lpips!pip install torchvision 이후, 두 이미지 파일을 불러와 전처리하고 LPIPS 값을 계산하는 코드는 아래와 같습니다.import lpipsfrom PIL import Imagefrom torchvision import transforms# 이미지 로드 및 전처리 함수def load_image(image_path): transform = transforms.Compose([ transforms.Resize((256, 256)), # LPIPS는 이미..

Python/Vision Code 2025.03.25

파이썬 이미지 합치기 코드 예시(PIL 이용)

안녕하세요.이번 글에서는 Python에서 이미지끼리 붙이는 코드 예시를 다루어보도록 하겠습니다. 다음과 같은 이미지 두 장이 있다고 가정하겠습니다.(pixabay에서 다운 받은 이미지들입니다.) 이 사진 두 장을 가로 / 세로 방향으로 병합하는 코드를 각각 살펴보겠습니다.(이 글에서는 두 이미지의 크기가 같다고 가정합니다.)  1. 가로 방향 이미지 병합다음은 가로 방향으로 이미지를 합치는 코드 예시입니다. 만일, PIL 모듈 설치가 필요하다면 !pip install Pillow 명령어로 설치를 진행해주세요.from PIL import Image# 가로 방향으로 이미지를 붙이는 코드def concat_images_horizontally(img_path1, img_path2, output_path): ..

Python/Vision Code 2025.02.24

[OpenCV] 파이썬 사물 인식(Object Detection) 실습 코드 예제

Python OpenCV object detection example 파이썬에서 OpenCV의 기능을 활용하여 이미지 내 사물 검출 결과를 쉽게 반환받을 수 있는 방법을 예시를 통해서 간략하게 정리해보도록 하겠습니다. 먼저, 이번 예제에서 사용할 이미지 파일을 불러와 출력해보도록 하겠습니다. (이미지의 출처는 pixabay에서 가져왔습니다.) from IPython.display import Image, display path = "cat_dog.jpg" # 사진 파일의 디렉토리 display(Image(filename = path)) 이제 강아지와 고양이가 여러 마리씩 있는 위의 이미지 파일에서 dog, cat 그림의 위치를 인식하여 해당 위치 부분에 직사각형 모양의 box를 label 이름과 함께 그..

Python/Vision Code 2022.08.11
반응형