일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Paper Review
- 옵티마이저
- 파이썬
- Segmentation
- 파이토치
- 딥러닝
- Convolution
- Semantic Segmentation
- 논문
- optimizer
- cnn
- 논문리뷰
- Self-supervised
- 코드구현
- 프로그래머스
- object detection
- Python
- 알고리즘
- 논문 리뷰
- pytorch
- 코딩테스트
- 논문구현
- 머신러닝
- 인공지능
- Ai
- Computer Vision
- opencv
- ViT
- programmers
- transformer
- Today
- Total
목록opencv (7)
Attention please
이번에 소개할 프로젝트는 opencv를 활용한 얼굴 감지 CCTV이다. 위 동영상처럼 얼굴을 감지하기 위해 mediapipe 라이브러리를 사용하였다. mediapipe는 얼굴 감지 뿐만 아닌 Object Detection, KNIFT 등등 다양한 기능들이 존재한다. https://google.github.io/mediapipe/ Home Cross-platform, customizable ML solutions for live and streaming media. google.github.io 이번에 필요한 기능은 face detection이기 때문에 관련 코드를 먼저 가져왔다. import cv2 import mediapipe as mp mp_face_detection = mp.solutions.fac..
이번에 해볼 것은 말 그대로 이미지의 원하는 부분을 스캔하는 것이다. 먼저 본 이미지가 잘 실행되는지 확인해주자. import cv2 import numpy as np img = cv2.imread('cafe.jpg') cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows() 좌표 구하기 직접 그림판을 열어서 원하는 지점의 좌표를 얻는 것 역시 하나의 방법이지만 너무 번거롭다. OpenCV 라이브러리에는 마우스의 움직임을 감지하는 마우스 이벤트 기능이 존재한다. 다음 코드는 간단하게 왼쪽 마우스를 클릭하면 해당 지점의 좌표가 출력되도록 구성되었다. img = cv2.imread('cafe.jpg') drawing = False def mouse_han..
OpenCV를 이용하여 읽어온 이미지를 다양하게 전처리 할 수 있다. 다음은 원본 이미지이다. 크기 조정 이미지 size를 조정하는데 총 2가지 방법이 존재한다. 직접 size 설정 비율로 size 조절 먼저 고정된 size인 (400, 500)로 resize를 하였다. import cv2 img = cv2.imread('cat_img.jpg') dst = cv2.resize(img, (400, 500)) cv2.imshow('img', img) cv2.imshow('resize', dst) cv2.waitKey(0) cv2.destroyAllWindows() 다음으로 설정한 비율에 맞게 resize를 하였다. dst = cv2.resize(img, None, fx=0.5, fy=0.5) 위와 같이 이미..
빈 도화지 그리기 도형을 그리기 전 도화지를 먼저 만들어 주어야 한다. import cv2 import numpy as np img = np.zeros((480, 640, 3), dtype = np.uint8) cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows() 위와 같이 도화지를 만들었다면 도형을 그릴 준비는 끝이다. 직선 그리기 opencv로 그릴 수 있는 직선에는 총 3가지 종류가 있다. cv2.LINE_4 : 상하좌우 4 방향으로 연결된 선 cv2.LINE_8 : 대각선을 포함한 8 방향으로 연결된 선 (기본값) cv2.LINE_AA : 부드러운 선 (anti-aliasing) 또한 직선을 그리기 위해서는 선의 색과 두께를 지정해주어야 한..
설명하기에 앞서 동영상은 여러 장의 사진들이 빠르게 넘어가는 것이라는 것을 알아두어야 한다. 다음 영상은 작업 path에 다운받아놓은 "cat_video.mp4" 파일의 영상이다. 동영상 파일 출력 위에서 말했던 것처럼 동영상은 여러 장의 사진들이 합쳐져있는 것이다. 즉, 출력할 때 역시 각 frame들을 반복적으로 출력하는 방식으로 진행된다. import cv2 cap = cv2.VideoCapture('cat_video.mp4') while cap.isOpened(): # 동영상 파일이 올바로 올렸는가? ret, frame = cap.read() # ret : 성공여부, frame : 받아온 이미지(프레임) if not ret: break cv2.imshow('video', frame) # 사용자가 ..
OpenCV (computer vision) 은 다양한 종류의 영상(이미지) 처리에 사용되는 오픈소스 라이브러리이다. https://opencv.org/ Home - OpenCV OpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI). opencv.org 이미지 출력 먼저 출력할 이미지를 미리 설치하여 작업 경로에 넣어두었다. 위 이미지를 "cat.jpg" 이름으로 저장하였다. 이후에 다음 코드를 실행하여 위 사진을 출력한다. import cv2 i..