전체 글 180

TensorFlow Image Object Detection API와 OpenCV 혼합해 비디오 Detection하기

시작하기 전에 https://dbfoot.tistory.com/118를 참고하여 TensorFlow Object Detection API을 먼저 설치해야 합니다. 이 게시글에서 설명할 코드는 가상환경에서 실행합니다. 먼저 필요한 라이브러리 전부 import 해줍니다. import tensorflow as tf import os import pathlib import numpy as np import zipfile import matplotlib.pyplot as plt from PIL import Image import cv2 from object_detection.utils import ops as utils_ops from object_detection.utils import label_map_uti..

객체 탐지 2021.12.30

TensorFlow Image Object Detection API와 OpenCV 혼합해 이미지 Detection하기

시작하기 전에 https://dbfoot.tistory.com/118를 참고하여 TensorFlow Object Detection API을 먼저 설치해야 합니다. 이 게시글에서 설명할 코드는 가상환경에서 실행합니다. 먼저 필요한 라이브러리 전부 import 해줍니다. import tensorflow as tf import os import pathlib import numpy as np import zipfile import matplotlib.pyplot as plt from PIL import Image import cv2 from object_detection.utils import ops as utils_ops from object_detection.utils import label_map_uti..

객체 탐지 2021.12.29

윈도우에 TensorFlow Object Detection API (텐서플로우 오브젝트 디텍션 API)설치하기

https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html Installation — TensorFlow 2 Object Detection API tutorial documentation Anaconda Python 3.8 (Optional) Although having Anaconda is not a requirement in order to install and use TensorFlow, I suggest doing so, due to it’s intuitive way of managing packages and setting up new virtual environments. Anaconda is a ..

객체 탐지 2021.12.29

Python(파이썬)에서 OpenCV를 이용해 동영상 파일 저장

먼저 필요한 numpy와 opencv를 import 해줍니다. import cv2 import numpy as np cap = cv2.VideoCapture(0) if cap.isOpened() == False: print('카메라로부터 정보를 얻을 수 없습니다.') else : #프레임의 정보를 가져와 보기! #화면 크기를 말하는것! (width, height) frame_width = int(cap.get(3)) frame_height = int(cap.get(4)) print(frame_width,frame_height) out = cv2.VideoWriter('영상 저장할 경로', cv2.VideoWriter_fourcc('M', 'J','P','G'), 10, (frame_width, frame..

OpenCV 2021.12.28

Python(파이썬)에서 OpenCV를 이용해 비디오 파일 불러오기

먼저 필요한 numpy와 opencv를 import와 이미지를 변수처리 해줍니다. import cv2 import numpy as np cap = cv2.VideoCapture('동영상 경로') 동영상은 여러개의 사진으로 되어있기 때문에 동영상 시작부터 끝까지 imshow를 반복해서 화면에 출력합니다. 그래서 반복문을 이용합니다. if cap.isOpened() == False : print('비디오 파일을 불러오는데 실패했습니다') else: while cap.isOpened(): ret, frame = cap.read() #제대로된 사진이면, 화면에 표시하라고 코딩 if ret == True: cv2.imshow('Vedio',frame) #동영상이 플레이하는 동안 멈추고 싶을때는 esc 키를 눌러서..

OpenCV 2021.12.28

Python(파이썬)에서 OpenCV를 이용해 이미지에 선,원,타원,사각형,텍스트 넣기 line(),circle(),ellipse(),rectangle(),putText()

먼저 필요한 numpy와 opencv를 import와 이미지를 번수처리 해줍니다. import cv2 import numpy as np source = cv2.imread('사진경로') cv2.imshow('img',image) #원본 #선그리기 imageLine = image.copy() #원본을 해치지 않기 위해 복사해서 사용합니다. cv2.line(imageLine,(322,179),(400,183),(0,0,255),3,cv2.LINE_AA) #이미지변수,시작위치,끝위치,글자색(BGR),선굵기,선타입 cv2.imshow('image Line',imageLine) #원그리기 imageCircle = image.copy() cv2.circle(imageCircle,(350,200),150,(255,0..

OpenCV 2021.12.27

Python(파이썬)에서 OpenCV를 이용해 이미지 데이터 타입 변환

먼저 필요한 numpy와 opencv를 import와 이미지를 변수처리 해줍니다. import cv2 import numpy as np source = cv2.imread('사진경로') scalingFactor = 1/255.0 #0~255로 되어있는 이미지를 0~1 사이의 실수로 정규화 source = source * scalingFactor print(source) #반대로 실수로 외어있는 것을 다시 0~255로 만드는 방법입니다 #즉 다시 이미지 배열로 만드는 방법입니다 source = source * 255 print(source) # 위의 코드는 결과가 실수이므로 이미지 배열이 아니다. #따라서 다시 이미지 배열로 만드려면 데이터 타입을 변경해줘야 한다 # 변경하는 방법 2개 # 1. np.ui..

OpenCV 2021.12.27

Python(파이썬)에서 OpenCV를 이용해 이미지 확대, 축소, 자르기resize()

먼저 필요한 numpy와 opencv를 import와 이미지를 번수처리 해줍니다. import cv2 import numpy as np source = cv2.imread('사진경로',1) #cv2.IMREAD_COLOR 랑 1은 같은 의미입니다 해당 사진을 가로는 80% 세로는 60% 축소하려고 합니다. scaleX = 0.8 scaleY = 0.6 #확대는 1.6,1.2 이렇게 하면 된다. scaleDown = cv2.resize(source,None,fx=scaleX,fy=scaleY,interpolation=cv2.INTER_LINEAR) # fx,fy는 바로 0.8,0.6으로 적어줘도 됩니다. # INTER_LINEAR는 축소하거나 확대할 경우 데이터가 비어있을 수 있습니다. 그때 양옆 데이터의..

OpenCV 2021.12.27

Python(파이썬)에서 OpenCV를 이용해 이미지 불러오기 imread(), imshow()

먼저 필요한 numpy와 opencv를 import 해줍니다. import cv2 import numpy as np img_file = '사진경로' # 예시) data/images/sample.jpg #opencv 로 이미지 열기 컬러이미지 image = cv2.imread(img_file,cv2.IMREAD_COLOR) #이미지가 정상인지 체크하는 코드 if image is None: print('이미지를 불러올 수 없습니다.') # image 변수가 없다면 출력 else: print(image.shape) # 있다면 image의 shape를 터미널에 출력 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #컬러 이미지 출력 cv2.imshow('color'..

OpenCV 2021.12.27

Python(파이썬)에서 OpenCV를 이용해 이미지 Numpy array로 불러오기

먼저 필요한 numpy와 opencv를 import 해줍니다. import cv2 import numpy as np # 이미지 파일을 읽어오는 방법 img = cv2.imread('사진경로') # 예) data/images/sample.jpg 확장자명까지 기입 print(img) print(img.shape) print(img.ndim) # 이미지 파일을 그레이스케일로 읽어오는 방법 img2 = cv2.imread('사진경로',0) #0이 grayscale을 뜻합니다. print(img2) print(img2.shape) print(img2.ndim) 해당 사진의 행열을 numpy array로 출력해줍니다.

OpenCV 2021.12.27