[DIP] cv2.imwrite

2024. 9. 22. 17:13·Programming/DIP
728x90
728x90

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

 

https://ds31x.tistory.com/25

 

[Python] os 모듈의 함수들 : file과 directory 관련

os 모듈의 함수들 : file과 directory 관련os는operating system (운영체제)와상호작용을 위한 다양한 기능을 제공하는built-in module임.대부분 os 종속적인 기능들이다. file과 directory 관련하여서는 주로 문자

ds31x.tistory.com

https://ds31x.tistory.com/464

 

[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
'Programming/DIP' 카테고리의 다른 글
  • [OpenCV] bitwise op.
  • [DIP] Image 다루기: cv2-기본편 1 (Summary)
  • [DIP] alpha 채널과 검은색 글씨 처리 with convertScaleAbs
  • [CV] cv2.imread()
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (748)
      • Private Life (13)
      • Programming (56)
        • DIP (112)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    fourier transform
    function
    Convolution
    SS
    signal_and_system
    인허가제도
    cv2
    numpy
    linear algebra
    Term
    Python
    opencv
    DIP
    Vector
    math
    Probability
    Optimization
    Programming
    SIGNAL
    signals_and_systems
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[DIP] cv2.imwrite
상단으로

티스토리툴바