← 이전 글로   다음 글로 →

참고 : https://docs.opencv.org/master/db/deb/tutorial_display_image.html

Lenna 출력하기


폴더 내부에 lenna.bmp가 없으면 이미지가 불러와지지 않습니다.

디렉터리 구조
-Python-OpenCV
	-image
		-after_img
			-lenna.bmp	#해당파일은 프로그램 실행 후 생성됩니다.
		-lenna.bmp
	-Program
		-__init__.py
	-main.py
코드
#-Python-OpenCV/main.py

from Program.img.img_prac import img_show

path = "image/"

if __name__ == "__main__" :
    img_show(path)
#-Python-OpenCV/Program/img/img_prac.py

import cv2 as cv
import sys

def img_show(path):
	img = cv.imread(path + "lenna.bmp")	#영상을 가져올 위치를 지정합니다.

    if img is None:
    	sys.exit("Could not read the image.")

	cv.imshow("Display window", img)	#cv.imread를 통해 영상을 띄울 창의 이름과 영상을 지정합니다.

	k = cv.waitKey(0)	#키 입력을 무한정 기다립니다. 

	if k == ord("s"):	#s키 입력시 종료
    	cv.imwrite(path + "after_img/" + "lenna.bmp", img) #s키 입력시 해당 폴더의 이름으로 저장합니다.
출력

img_prac코드 분석


  • cv.imread()

    imread 함수는 지정된 파일에서 이미지를 로드하고 반환합니다.

    cv.imread(filename[,flags]) -> retval
    
    • 이미지를 읽을 수 없는 경우(파일 누락, 부적절한 권한, 지원되지 않거나 잘못된 형식으로 인해) 함수는 빈 행렬( Mat::data ==NULL )을 반환합니다 .
  • cv.imshow()

    지정된 창에 OpenGL 2D 텍스처를 표시합니다.

    cv.imshow(winname, mat) -> None
    
    Parameters  
    winname 영상을 출력할 대상 창 이름
    mat 출력할 영상 데이터(Mat 객체)
  • cv.waitKey()

    키입력을 기다립니다.

    cv.imwrite(filename, img[, params]) -> retval
    
    Parameters  
    delay Delay in milliseconds. 0 is the special value that means “forever”.
  • cv.imwrite

    이미지를 지정된 파일에 저장합니다.

    cv.imwrite(filename, img[, params]) -> retval
    
    Parameters  
    filename Name of the file.
    img (Mat or vector of Mat) Image or Images to be saved.
    params Format-specific parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, … .) see cv::ImwriteFlags
  • 참조

    함수 설명
    cv.imread() https://docs.opencv.org/master/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56
    cv.imshow() https://docs.opencv.org/master/df/d24/group__highgui__opengl.html#gaae7e90aa3415c68dba22a5ff2cefc25d
    cv.waitKey() https://docs.opencv.org/master/d7/dfc/group__highgui.html#ga5628525ad33f52eab17feebcfba38bd7
    cv.imwrite() https://docs.opencv.org/master/d4/da8/group__imgcodecs.html#gabbc7ef1aa2edfaa87772f1202d67e0ce