[DIP] cv2.imwrite

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

cv2.imwrite는 OpenCV 라이브러리에서 제공하는 "이미지 데이터를 지정한 파일로 저장하는 기능"을 수행.


사용법

cv2.imwrite(filepath, img, params=None)
  • filepath:
    • 저장할 파일의 경로와 이름을 나타내는 str 객체.
    • 파일 extension을 통해 저장될 이미지의 format이 결정됨.
    • 예: 'image.png', 'image.jpg'
  • img:
    • 저장할 이미지 데이터.
    • 일반적으로 NumPy 배열 형태로 제공 (dtype를 np.uint8로 주로 사용.)
  • params (optional):
    • 이미지 저장 시 추가적인 파라미터를 설정 담당.
    • key와 value를 가진 list객체로 제공.
    • 이미지 포맷에 따라 압축률 등을 지정하는데 사용됨.

예제

import skimage import data
import cv2

# 이미지 생성
cat    = data.chelsea()
cat_cv = cv2.cvtColor(cat_cv, cv2.COLOR_RGB2BGR) #Color Space 변경

# 결과 이미지 저장
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)

BMP 비트맵(bitmap) 방식. extension(확장자)가 bmp임. 압축도 가능하나 주로 압축되지 않는 방식으로 많이 사용됨. pixel 들을 2-Dimension(이차원)으로 정렬하여 표현 각각의 픽셀은 정수를 component로 가지

dsaint31.tistory.com

https://dsaint31.me/mkdocs_site/OS/file/#extension-or

 

BME228

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 종속적인 기능들이다.os.path 모듈ds_exist = os.path.exists('path'

ds31x.tistory.com

 


 

'Programming > DIP' 카테고리의 다른 글

[OpenCV] bitwise op.  (0) 2024.09.22
[DIP] Image 다루기: 기본편 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 다루기: 기본편 1; (Summary)
  • [DIP] alpha 채널과 검은색 글씨 처리 with convertScaleAbs
  • [CV] cv2.imread()
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (740)
      • Private Life (13)
      • Programming (186)
        • DIP (104)
        • 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
    • 기타 방사능관련.
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바