cv2.imwrite
는 OpenCV 라이브러리에서 제공하는 "이미지 데이터를 지정한 파일로 저장하는 기능"을 수행.
OpenCV 는 다양한 image format을 지원하며, 저장할 파일명의 확장자에 따라 알아서 encoding을 수행.
사용법
cv2.imwrite(filepath, img, params=None) -> bool
filepath
:- 저장할 파일의 경로와 이름을 나타내는
str
객체. - 파일 extension을 통해 저장될 이미지의 format이 결정됨.
- 예: 'image.png', 'image.jpg'
- 저장할 파일의 경로와 이름을 나타내는
img
:- 저장할 이미지 데이터.
- 일반적으로 NumPy 배열 형태로 제공 (dtype를
np.uint8
로 주로 사용.)
params
(optional):- 이미지 저장 시 추가적인 파라미터를 설정 담당.
- key와 value를 가진 list객체로 제공.
- 이미지 포맷에 따라 압축률 등을 지정하는데 사용됨.
- return value 확인:
- 함수는 저장 성공 시 True,
- 실패 시 False를 반환
예제
from skimage import data
import cv2
# 이미지 생성
cat = data.chelsea()
print(f"{type(cat) = }")
#Color Space 변경
cat_cv = cv2.cvtColor(cat, cv2.COLOR_RGB2BGR)
print(f"{type(cat_cv) = }")
# 결과 이미지 저장
success = cv2.imwrite('output.png', cat_cv)
# 저장 성공 여부 확인
if success:
print('이미지 저장에 성공했습니다.')
else:
print('이미지 저장에 실패했습니다.')
추가 파라미터 사용
params
를 사용하여 이미지 저장 옵션을 설정 가능.
JPEG 품질 설정 (0 ~ 100, 기본값: 95)
cv2.imwrite('output.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 90])
PNG 압축 레벨 설정 (0 ~ 9, 기본값: 3)
cv2.imwrite('output.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 5])
주의사항
- file path 유효성:
- 저장하려는 path(디렉토리)가 존재하지 않으면 파일 저장에 실패.
- 저장 전에 유효한 path인지 확인할 것.
- return value 확인:
- 함수는 저장 성공 시
True
, - 실패 시
False
를 반환
- 함수는 저장 성공 시
같이보면 좋은 자료
2022.12.05 - [Programming/DIP] - [DIP] Image Format (summary)
[DIP] Image Format (summary)
Digital Image 들의 대표적인 encoding 방식들은 다음과 같음:더보기encoding 과 decoding에 대한 일반적 정의:https://dsaint31.me/mkdocs_site/CE/ch01/code_for_character/#code-encoding BMECodes for Characters Code 란 특정 형태의 i
dsaint31.tistory.com
https://dsaint31.me/mkdocs_site/OS/file/
BME
File 컴퓨터를 사용하기 위해 필요한 정보들이 담김. 컴퓨터에서 사용되는 data 저장의 기본단위 파일 이름의 extension(확장명 or 확장자) 파일에 포함된 정보의 종류 및 해당 파일을 열기 위한 연결
dsaint31.me
[Python] os 모듈의 함수들 : file과 directory 관련
os 모듈의 함수들 : file과 directory 관련os는operating system (운영체제)와상호작용을 위한 다양한 기능을 제공하는built-in module임.대부분 os 종속적인 기능들이다. file과 directory 관련하여서는 주로 문자
ds31x.tistory.com
[torchvision] torchvision.utils.save_image and torchvision.io.encode_jpeg, torchvision.io.encode_png
주로 다음의 3가지를 개인적으로 사용함.save_image: 파일 직접 저장, 배치 그리드 배열, 정규화/시각화 기능 내장encode_jpeg: 손실 압축, 더 작은 파일 크기, RGB/Grayscale만 지원encode_png: 무손실 압축, 더
ds31x.tistory.com
2024.09.22 - [Programming/DIP] - [DIP] Image 다루기: cv2-기본편 1 (Summary)
[DIP] Image 다루기: cv2-기본편 1 (Summary)
openCV를 통한 이미지를 다루기 위한 기본 내용Pillow는 다음을 참고:https://ds31x.tistory.com/465 Pillow 사용법 - Basic 01Pillow 라이브러리의 기본적인 사용법을 다룬다. 2024.06.03 - [Python] - [Python] PIL, Pillow, Ope
dsaint31.tistory.com
'Programming > DIP' 카테고리의 다른 글
[OpenCV] bitwise op. (0) | 2024.09.22 |
---|---|
[DIP] Image 다루기: cv2-기본편 1 (Summary) (0) | 2024.09.22 |
[DIP] alpha 채널과 검은색 글씨 처리 with convertScaleAbs (0) | 2024.09.16 |
[CV] cv2.imread() (4) | 2024.09.16 |
[DIP] plt.imshow: matplotlib.pyplot (1) | 2024.09.16 |