티스토리 뷰

Coding/Open CV

OpenCV_이미지출력

잉_민 2022. 2. 14. 16:47
728x90
반응형
import cv2
import numpy as np

image =cv2.imread("mountain.jpg")
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
result= np.zeros((image.shape[0],256),dtype = np.uint8)
                  
hist = cv2.calcHist([image],[0],None,[256],[0,256])
cv2.normalize(hist,hist,0,255,cv2.NORM_MINMAX)

for x,y in enumerate(hist):cv2.line(result,(int(x),image.shape[0]),(int(x),image.shape[0]-int(y)),255)
                  
dst = np.hstack([image[:,:,0],result])
cv2.imshow("dst",dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

이미지 출력

import cv2

src=cv2.imread("OpenCV_Logo.png")
cv2.namedWindow("Window_name") //윈도우만들기

cv2.resizeWindow("Window_name",400,200)
cv2.imshow("window_name",src) //보여줘

cv2.waitKey(0) //어떤키나 누르기를 기다림
cv2.destroyWindow("window_name") //window 꺼줘.

영상 출력

import cv2

capture = cv2.VideoCapture("Star.mp4")

while True:
    ret,frame = capture.read()
    
    if(capture.get(cv2.CAP_PROP_POS_FRAMES) == capture.get(cv2.CAP_PROP_FRAME_COUNT)):
        capture.open("Star.mp4")
        
    cv2.imshow("VideoFrame",frame)
    if cv2.waitKey(33) == ord('q'):break
        
capture.release()
cv2.destroyAllWindows()

CAP_PROP_POS_FRAMES 현재 프레임

capture.get(cv2.CAP_PROP_FRAME_COUNT) : 영상의 총 프레임 수

현재 프레임이 마지막 프레임과 같아지면

open : 다시 불러와라

imshow 보여줘라 frame을

만약q 누르면 break 된다.


동영상 파일 읽기 메서드(capture.open)를 이용하여 다시 동영상 파일을 불러올 수도 있습니다.

비디오 속성 반환 메서드(capture.get)로 비디오의 속성을 반환합니다.

비디오의 정보 중, 동영상의 현재 프레임 수(cv2.CAP_PROP_POS_FRAMES)와 동영상의 총 프레임 수(cv2.CAP_PROP_FRAME_COUNT)를 받아옵니다.

분기문(if)을 이용하여 동영상의 현재 프레임 수와 동영상의 총 프레임 수를 비교합니다.

현재 프레임의 수가 총 프레임 수가 같다면, 현재 재생되고 있는 프레임은 가장 마지막이 됩니다.

마지막 프레임은 동영상이 종료되는 시점이 되므로, 비디오 속성 설정 메서드(capture.get)로 동영상의 현재 프레임을 초기화합니다.


  • Tip : 또는, 동영상 파일 읽기 메서드(capture.open)를 이용하여 다시 동영상 파일을 불러올 수도 있습니다.
import cv2

capture = cv2.VideoCapture("Star.mp4")

while True:
    ret,frame = capture.read()
    
    if ret == False:
        break
        
    cv2.inshow("VideoFrame",frame)
    if cv2.waitKey(33) == ord('q'):break
        
capture.release()
cv2.destroyAllWindows()

read() : 프레임 가져오는 함수.

영상 다 돌아서 프레임 끝나면 false 되는데 그러면 breake 된다.


videoCapture(0) : 노트북 카메라 영상 가져옴

import cv2

capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,640)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT,480)

while True:
    ret,frame = capture.read()
    
    if ret == True:
        cv2.imshow("VideoFrame",frame)
        if cv2.waitKey(33) == ord('q'):break
    else:
        
        break
        
capture.release()
cv2.destroyAllWindows()

0번 비디오 가져옴.

set으로 사이즈 설정

read로 프레임 받아옴

imshow 프레임 있다면 보여줘라.

cmd에서 q 누르면 끝

728x90
반응형

'Coding > Open CV' 카테고리의 다른 글

OpenCV_ROI,COI  (0) 2022.02.14
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함
반응형