OpenCV

[OpenCV_01_15_창 관리 API 사용하기]

선호하는 2022. 12. 14. 21:00
import cv2

file_path = './imgs/IU.png'
img = cv2.imread(file_path)
img_gray = cv2.imread(file_path, cv2.IMREAD_GRAYSCALE)

cv2.namedWindow('Origin', cv2.WINDOW_AUTOSIZE)
cv2.namedWindow('gray2', cv2.WINDOW_NORMAL)

cv2.imshow('Origin', img)
cv2.imshow('gray2', img_gray)

cv2.waitKey(0)
cv2.moveWindow('Origin', 0, 0)
cv2.moveWindow('gray2', 100,100)

cv2.waitKey(0)
cv2.resizeWindow('Origin', 500, 500)
cv2.resizeWindow('gray2', 100, 100)

cv2.waitKey(0)
cv2.destroyWindow('gray2')

cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.namedWindow(winname[, flags]) - 창을 만드는 함수

  winname - 창 이름

동일한 이름의 창이 있다면 함수는 아무것도 실행하지 않는다.

flags - cv::WindowFlags

  cv2.WINDOW_AUTOSIZE - 표시되는 이미지에 따라 크기 바뀌고 크기 조절이 불가능한 창
  cv2.WINDOW_FREERATIO - 이미지 비율에 상관 없이 크기 조절 가능한 창
  cv2.WINDOW_FULLSCREEN - 전체 화면 창
  cv2.WINDOW_GUI_EXPANDED - 상태 표시줄 및 도구 모음을 적용할 수 있는 창
  cv2.WINDOW_GUI_NORMAL - 오래 전 방식의 GUI를 사용할 수 있는 창
  cv2.WINDOW_KEEPRATIO - 이미지 비율이 존중되는 창(변환 가능)
  cv2.WINDOW_NORMAL - 창 조정에 제약 없는 일반적인 창
  cv2.WINDOW_OPENGL - OPENGL을 지원하는 창

 

cv2.moveWindow(winname, x, y) - 창을 이동하는 함수

  winname - 창 이름

  x - 창의 새 x좌표

  y - 창의 새 y좌표

 

resizeWindow(winname, width, height) - 창 크기를 조절하는 함수

  winname - 창 이름

  width - 창의 새 너비

  height - 창의 새 높이

= resizeWindow(winname, size)

    size - (w, h) 배열

 

<사담>

윈도우 에러창이 뜰 때 약간 오른쪽 아래에 뜨는 것처럼 지금 떠 있는 창의 좌표값을 통해 상대좌표로 창을 위치시킬 수 있을 것 같다.

namedWindow 함수는 변수 선언하는 것처럼 창을 선언해두는 것이라 생각하면 될 것 같다.

'OpenCV' 카테고리의 다른 글

[OpenCV_01_17_마우스 이벤트로 원 그리기]  (0) 2022.12.15
[OpenCV_01_16_키 이벤트]  (0) 2022.12.15
[OpenCV_01_14_글씨 그리기]  (0) 2022.12.13
[OpenCV_01_13_원 그리기]  (0) 2022.12.13
[OpenCV_01_12_다각형 그리기]  (0) 2022.12.11