본문 바로가기
작업일지/자율주행

21day-4

by rlawltjqq 2022. 2. 7.
import cv2 #open cv를 들여 옵니다.
import RPi.GPIO as GPIO #GPIO를 사용 하기 위함입니다.
import time #시간에 관한 코드를 사용하기 위해 사용 해줍니다.

def main():
	camera = cv2.VideoCapture(-1) #카메라 포트 -1
    camera.set(3.640) #가로 크기
    camera.set(4.480) #세로 크기
    filepath = "/home/pi/ai car/video/test" #파일이 저장될 경로 
    i = 0 #사진의 번호를 붙일 숫자 변수를 만들고 0으로 초기화
    
    while(camera.isOpened()):
    	keyValue = cv2.waitKey(10) #키보드의 입력을 받는다. 10ms로 키보드 값을 기다렸다 없으면 timeout으로 종료
       
        
        if keyValue == ord('q'): #q가 입력되면 braek를 실행
        	braek
          
        _, image = camera.read() #카메라를 읽어 옵니다
        image = =cv2.filp(image,-1) #뒤집어 줍니다
        cv2.imshow('Original', image) #Original 이라는 파일로 이미지를 열어 줍니다.
        cv2.imwrite("%s_%05d.png" % (filepath, i), image) #%s는 문자열로 fliepath와 매칭 %05d는 0으로 채워지는 5자리 숫자값 i와 매칭
        i = i+1 #겹치지 않기 위해 1씩 증가
        
        time.sleep(1.0)
        
        height, _, _ = image.shape #shape는 사진의 높이,너비,색상을 리턴한다. 높이를 자르기 위해 height 변쉐 높이 값을 대입한다.
        save_image = image[int(height/2):,:,:] #높이의 위쪽의 반을 잘라 save_image 대입한다
        save_image = cv2.cvtColor(save_image, cv2.COLOR_BGR2YUV) #RGB를 YUV로 바꿔서 보여준다.
        save_image = cv2.GaussianBlur(save_image, (3,3), 0) #3x3으로 블러링 하였다.
        save_image = cv2.resize(save_image, (200,66)) #사이즈를 200x66으로 변경하였다.
        cv2.imshow(' save ',save_image) # save라는 이름으로 바뀐 영상을 출력한다.

	cv2.destroyAllwindows()

if __name__ == '__main__': #__name__의 값이 __main__이면 조건이 참이 된다.
	main() #main 함수를 실행합니다.
    GPIO.cleanup() #GPIO를 초기화 합니다.

1초 마다 잘 저장된 모습

'작업일지 > 자율주행' 카테고리의 다른 글

23day -lane data  (0) 2022.02.09
22day  (0) 2022.02.08
21day-3  (0) 2022.02.07
21day-2  (0) 2022.02.07
21 day- 1  (0) 2022.02.07