반응형

Python 411

[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] onnx -> pth 파일 변환 방법 정리

안녕하세요.이번 글에서는 onnx 파일로 저장된 모델을 pth 파일로 변환하는 방법에 대하여간략하게 정리해보도록 하겠습니다. 1. onnx2torch 모듈 활용만일, onnx 파일 내의 모델이 Conv, ReLU 등 기본 연산자로만 구성되었고,입력 및 출력 shape이 고정된 등 비교적 간단한 경우,onnx2torch 모듈로 onnx -> pth 파일 변환을 매우 쉽게 할 수 있습니다.사용 방법은 다음과 같습니다.# (필요 시) 라이브러리 설치# !pip install onnx2torch# 변환from onnx2torch import converttorch_model = convert("your_model.onnx")# 저장torch.save(torch_model.state_dict(), "conver..

Python/Pytorch 2025.09.22

테이블 도메인 딥러닝 예측 모델 TabPFN 파이썬 예제

안녕하세요.이번 글에서는 table domain에서 예측 모델로 사용해볼 수 있는 대표적인 딥러닝 모델인TabPFN의 활용 예제를 다루어보도록 하겠습니다. 1. 모듈 설치 및 임포트TabPFN 모델 활용을 위한 모듈 설치를 진행해야 합니다. 이는 다음 명령어로 수행합니다.!pip install tabpfn 설치가 완료되었다면 앞으로 다룰 예제에서 필요한 모듈들을 임포트하도록 하겠습니다.import timeimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.datasets import load_winefrom sklearn.model_selection import train_test_splitfrom sklear..

Python/Sklearn 2025.09.09

파이썬 UMAP 차원 축소 및 시각화 예제

안녕하세요.이번 글에서는 python에서 대표적인 차원 축소 알고리즘 중 하나인umap을 통해서 차원 축소를 해보고 시각화로 결과를 살펴보는 예제를 다루어 보겠습니다. 모듈 설치UMAP 시각화를 위해서는 umap-learn 모듈의 설치가 필요합니다.다음의 명령어로 쉽게 설치가 가능합니다.!pip install umap-learn 데이터셋 로드 및 정규화이해를 돕기 위하여, 사이킷런에서 제공하는 iris 데이터셋을 대상으로 차원 축소 및 시각화를 해보겠습니다. 먼저, 필요한 모듈들을 import하고 데이터셋 로드 및 정규화를 해보겠습니다.umap 차원 축소 시에는 정규화 과정이 꼭 필요하니 참고하세요.# 0) 모듈 임포트from sklearn.datasets import load_irisfrom skl..

Python/Sklearn 2025.08.18

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
반응형