OpenCV
OpecCV를 통해 차선 인식하기
위와 같이 사진을 사용하여 길 위의 차선을 인식할 것입니다. 사용함수! def canny_edge(image) : gray_conversion = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) blur_conversion = cv2.GaussianBlur(gray_conversion, (5,5), 0) canny_conversion = cv2.Canny(blur_conversion, 50, 150) return canny_conversion def reg_of_interest(image) : image_height = image.shape[0] polygons = np.array( [[ (200, image_height) , (1100, image_height), (550, 25..
OpenCV 2 Video read/write
Video Read import cv2 import numpy as np #FPS = Frame Per Second : 초당 사진 구성 cap = cv2.VideoCapture('data/videos/chaplin.mp4') if cap.isOpened() == False: print('Error opening video stream or file') else: #반복문이 필요한 이유? 비디오는 여러 사진으로 구성되어있음. while cap.isOpened(): #사진을 1장씩 가져와서 ret, frame = cap.read() #제대로 가져왔으면 화면 표시. if ret == True: cv2.imshow("Frame", frame) #키보드에서 esc를 누르면 exit하라 if cv2.waitKey(..
OpenCV 이미지에 도형 그리기
라이브러리 임포트 및 사진 꺼내기 import cv2 import numpy as np image = cv2.imread('data/images/mark.jpg') cv2.imshow("img", image) 눈 위에 선을 그어줄겁니다. imageLine = image.copy() cv2.line(imageLine, (322,179), (400,183), (0,0,255), thickness=2, lineType=cv2.LINE_AA) #선 시작, 끝(좌표), 색, 굵기, 선 표현 법 cv2.imshow("image Line", imageLine) 원그리기! imageCircle = image.copy() cv2.circle(imageCircle, (350,200), 150, (255,0,0), thic..
OpenCV 데이터 타입 변환입 변환
import cv2 import numpy as np source = cv2.imread("data/images/sample.jpg") scalingFactor = 1/255.0 # Convert unsigned int 8bit to float source = np.float32(source) source = source*scalingFactor print(source) # Convert back to unsigned int(8bit) source = source*(1.0/scalingFactor) source = np.uint8(source) print(source)
OpenCV 이미지 crop 하기
이미지의 크기를 변경시키고 크롭하는 코드입니다. 이미지 불러오기. import cv2 source = cv2.imread("data/images/sample.jpg", 1) 이미지의 크기를 줄이고 이미지 불러오기 scaleX = 0.6 scaleY = 0.6 #resizing 코드 scaleDown = cv2.resize(source, None, fx=scaleX, fy=scaleY, interpolation = cv2.INTER_LINEAR) cv2.imshow("Original", source) cv2.imshow("Scaled Down", scaleDown) 이미지의 크기를 키우고 이미지 불러오기 scaleX = 1.8 scaleY = 1.8 scaleUp = cv2.resize(source, No..
OpenCV 읽고 저장하고 표시하기
이미지 파일을 읽어오고, 흑백으로 변경한 뒤, 저장하는 코드입니다. import cv2 imageName = "data/images/sample.jpg" image = cv2.imread(imageName, cv2.IMREAD_COLOR) if image is None : print("Could not open or find the image") 이미지를 불러오고, 에러처리를 해줍니다. grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 사진의 색을 그레이스케일로 변경합니다. cv2.namedWindow("gray image", cv2.WINDOW_AUTOSIZE) cv2.imshow("gray image", grayImage) 창의 이름과 성질을 설정하고, 창에..
OpenCV_numpy_array
OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였고 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다. 인텔 CPU에서 사용되는 경우 속도의 향상을 볼 수 있는 IPP(Intel Performance Primitives)를 지원한다. 이 라이브러리는 윈도, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow , Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. OpenCV를 사용하기 위해 install 해준다. pip install pip install opencv-python pip install ..