카테고리 없음

python openCV (이미지, 영상)

Canyi 2022. 10. 26. 13:49

** 매우 중요** python 설치 할때 반드시 add path를 해야됨 **  

add 하지 않으면 모듈 세팅 불가능....

 

open version 확인하기

import cv2
print(cv2.__version__)

4.6.0 version의 openCV

이미지 읽기 및 출력 예시

 

openCV로 해당 경로에 있는 이미지 읽기 및 출력, 나같은 경우 이미지가 너무 크게 나와서 downscale 함수를 하나 생성

import cv2
#open cv 버전 확인
#print(cv2.__version__)


#image 다운 스케일: 다운로드한 이미지가 너무 클 경우 1280 x 960로 출력
def downscale(img, x):
    if x > 1280:
        print("Down Scale not available because you exceed maximum size")
        return

    y = int(0.75 * x)
    print(x)
    print(y)
    img = cv2.resize(img, (x, y))
    #이미지 화면에 표시
    cv2.imshow('모나', img)
    return img

#이미지 읽기
img  = cv2.imread('mona.jpg',1)

result = downscale(img,1280)

cv2.waitKey(0)
#이미지 window 삭제
cv2.destroyAllWindows()

 

사진색 조정하고 png파일로 변경하고 저정하  싶을때 

 

import cv2
#open cv 버전 확인
#print(cv2.__version__)


#image 다운 스케일: 다운로드한 이미지가 너무 클 경우 1280 x 960로 출력
def downscale(img, x):
    if x > 1280:
        print("Down Scale not available because you exceed maximum size")
        return

    y = int(0.75 * x)
    print(x)
    print(y)
    img = cv2.resize(img, (x, y))
    #이미지 화면에 표시
    cv2.imshow('gray color', img)
    return img

#이미지 읽기
#cv2.IMREAD_GRAYSCALE 색을 gray로 조정
img  = cv2.imread('mona.jpg',cv2.IMREAD_GRAYSCALE)

result = downscale(img,1280)

cv2.waitKey(0)
#이미지 window 삭제
cv2.destroyAllWindows()

cv2.imwrite('mona.png',img)

해당 경로에 이미지 저장완료

 

 

 

 

 

 

 

ESC == 27  (ascii 코드)

#카메라 영상 처리
import cv2

cap = cv2.VideoCapture(0) #default camera

while cap.isOpened():
    #카메라 프레임 읽기
    success, frame =cap.read()
    if success:
        #frame 출력
        cv2.imshow('Camera Window',frame)

        #ESC키를 클릭하면 종료
        key = cv2.waitKey(1)
        if(key == 27):
            break;

cap.release()
cv2.destroyAllWindows()

 

 

 

 

#카메라 영상 처리
import cv2

cap = cv2.VideoCapture(0) #default camera
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print("size : {0} x {1}".format(width,height))

while cap.isOpened():
    #카메라 프레임 읽기
    success, frame =cap.read()
    if success:
        #frame 출력
        cv2.imshow('Camera Window',frame)

        #ESC키를 클릭하면 종료
        key = cv2.waitKey(1)
        if(key == 27):
            break;

cap.release()
cv2.destroyAllWindows()

 

 

 

 

영상을 실시간 녹화해서 cam.avi라는 이름으로 저장

#카메라 영상 처리
from asyncore import write
import cv2

cap = cv2.VideoCapture(0) #default camera
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print("size : {0} x {1}".format(width,height))

#영상 저장을 위한 videoWriter 인스턴스 생성
fourcc = cv2.VideoWriter_fourcc(*'XVID')
writer = cv2.VideoWriter("cam.avi",fourcc, 24,(int(width), int(height)))

while cap.isOpened():
    #카메라 프레임 읽기
    success, frame =cap.read()
    if success:
        #frame 출력
        cv2.imshow('Camera Window',frame)
        #frame 저장
        writer.write(frame) 
        #ESC키를 클릭하면 종료
        key = cv2.waitKey(1)
        if(key == 27):
            break;

cap.release()
writer.release()
cv2.destroyAllWindows()