[opencv] jupyter notebook에서 영상 실행 방법(with ipywidgets) 일반적으로 영상을 실행시킬때 opencv 자체에서 제공하는 gui window를 통해 영상을 확인합니다. 문제는 쥬피터 노트북 상에선 해당방법으로 영상을 실행하면 커널이 shut down 되는 현상이 발생됩니다. 이번 포스팅에서는 ipywidgets 라이브러리를 통해 jupyter notebook 상에서도 영상을 실행하는 방법에 대해 알아보겠습니다. 1) ipywidgets 설치 !pip install ipywidgets 2) 예제 코드 (1) 방법1 필요한 모듈 import import cv2 from ipywidgets import Image from IPython.display import display Image() 클래스를 객체를 생성합니다. 이 객체는 추후 video file에서 읽은 vide.. 머신러닝,딥러닝/opencv 2022. 12. 19. [파이썬 opencv] 오픈 cv에서 selectroi 사용하는 방법 이미지에서 특정 영역을 지정하고 그 영역의 좌표값을 추출하는 데 사용되는 selectroi 에 대해 알아보겠습니다. 1. 기본 세팅 img = cv2.imread('lenna.jpg', cv2.IMREAD_COLOR) x, y, w, h = cv2.selectROI(windowName='roi', img=img) 여기서 windowName 인자는 윈도우 창 이름을 지정하는 부분입니다. img 는 어떤 이미지를 사용할지 적용해주는 부분이고요. 아래와 같이 특정 영역을 선택해주면 x, y, w, h 값을 리턴 받게 됩니다. x, y, w, h 값을 그림으로 도식화하면 아래와 같습니다. x, y는 사각형 좌상단 좌표, w, h는 사각형의 width, height를 의미합니다. 2. 추가 세팅 1) showCr.. 머신러닝,딥러닝/opencv 2022. 12. 9. [파이썬 opencv] 오픈cv 를 통해 비디오(영상) 출력하는 방법 이번 포스팅에서는 opencv를 통해 영상 파일과 실시간 캠 영상을 출력하는 방법에 대해 알아보겠습니다. 1. 주요 클래스 및 함수 소개 1) 카메라 객체 생성 VideoCapture 라는 클래스를 통해 캠 영상과 이미 완성되어 있는 영상파일을 출력할 수 있습니다. (1) 실시간 캠영상 VideoCapture 클래스 인자로 0부터 시작하는 정수 값을 넣습니다. 일반적으로 0은 컴퓨터의 기본 카메라인데요. 카메라가 두 개라면 하나는 0 다른 하나는 1로 설정을 합니다. 둘 중 어느 카메라가 할당될지는 상황에 따라 다를 수 있음으로 체크할 필요가 있습니다. (2) 영상 파일 앞서 정수를 넣었던 것과는 달리 영상파일 경로를 인자로 넣어주면 됩니다. 일반적으로 VideoCapure 을 통해 생성한 객체는 cap.. 머신러닝,딥러닝/opencv 2022. 12. 2. [파이썬 opencv] 오픈 cv에서 yolov3 사용하는 방법 학습된 yolo(욜로) 모델을 가져오는 방법을 알아보겠습니다. 예제는 darknet으로 만들어진 욜로 모델을 기준으로 합니다. (이 글은 아래 포스팅을 읽고 왔다는 전제로 작성 되었습니다.) [파이썬 opencv] 오픈 cv에서 detection model 실행하는 방법 영상을 편집하는데 opencv 만한 tool이 없죠. 영상 편집과 object detection를 동시에 할 순 없을까요? 오픈 cv에서는 이미 만들어진 detection모델들을 로드하여 사용할 수 있습니다. 이 글을 읽기 전 선수 yeko90.tistory.com 1) 학습된 모델 다운로드 darknet에서도 cfg(환경파일)과 Weight 파일을 다운로드하여 사용하시면 되는데요. 해당 링크 접속 후 커서를 조금 내리면 아래와 같은 화.. 머신러닝,딥러닝/opencv 2022. 10. 26. [파이썬 opencv] 오픈 cv에서 detection model 실행하는 방법 영상을 편집하는데 opencv 만한 tool이 없죠. 영상 편집과 object detection를 동시에 할 순 없을까요? 오픈 cv에서는 이미 만들어진 detection모델들을 로드하여 사용할 수 있습니다. 이 글을 읽기 전 선수 지식 포스팅 [opencv] 그림 그리기 | 글자 쓰는 법 (+ 한글 사용 방법) 1) detection 모델 load 어떤 프레임워크로 만들어진 모델이냐에 따라 사용방법은 조금씩 다른데요. 기본적으로 첫 번째 인자에는 가중치 모델 파일 경로, 두 번째 인자에는 환경 파일(config파일)의 경로를 넣는 형태로 만들어집니다. 환경 파일은 모델을 어떻게 사용할지에 대한 가이드가 담겨 있는 파일입니다. 가중치 파일과 환경 파일은 어디에서 다운 받을 수 있을까요? 텐서플로우를 기준.. 머신러닝,딥러닝/opencv 2022. 10. 21. [오픈 cv] 트랙바란? 트랙바 사용방법(for opencv 초보자) 이번 포스팅에서는 아래와 같이 파이썬 opencv에서 제공하는 gui인 트랙바를 만드는 방법에 대해 알아보겠습니다. 1) 트랙바 디폴트 배경 설정 우선 트랙바 배경으로 검은 화면을 설정하고 싶은데요! 아래와 같은 코드로 검은 배경을 만들어보았습니다. output: 2) 트랙바 생성(cv2.createTrackbar) 트랙바를 생성하는데 사용되는 함수는 createTrackbar 입니다. 두번째 인자에 들어간 'image'는 트랙바를 띄울 창 이름을 의미합니다. 다시 말하면 트랙바를 생성하기 위해선 창을 먼저 생성해야 된다는 의미죠. 즉 아래와 같이 imshow()를 먼저 실행해서 창을 생성한 후 트랙바를 생성하는 방식으로 진행이 됩니다. 당연히 같은 창을 공유 해야하니까 둘다 'image'라는 같은 이름.. 머신러닝,딥러닝/opencv 2022. 9. 14. [파이썬 opencv] 두 이미지 합치는 방법(with 크기 다른 이미지) 이번 포스팅에서는 파이썬 OpenCV에서 아래의 사과 이미지를 오른쪽 하늘 배경에 넣는 것을 해보고 싶습니다. 이 글을 읽기 전 선수 지식 포스팅 [opencv python] 이미지 읽기(cv2.imread) | 컬러 , 흑백 1) 준비사항 이때 필요한 것은 3개의 이미지가 필요합니다. 이중 2개는 당연히 원본 사과 이미지와, 원본 하늘 이미지입니다. 나머지 1개는 바로 사과의 마스크 이미지인데요. 마스크 이미지란 아래와 같이 검은색과 흰색으로 구성된 이미지라고 보시면 됩니다. 여기서 포인트는 우리가 관심있어 하는 부분이 흰색이 되어야 한다는 점입니다. 이를 전문용어(?)로 A Region Of Interest 줄여서 ROI, 한국말로는 관심 영역이라고 합니다. 해당 마스크 이미지는 opencv 이진 영.. 머신러닝,딥러닝/opencv 2022. 9. 13. [opencv] 그림 그리기 | 글자 쓰는 법 (+ 한글 사용 방법) 이번 포스팅에서는 opencv 함수를 이용하여 그림 그리기 및 글자 쓰는 방법에 대해 알아보도록 하겠습니다. 먼저 그림 그리기에 앞서 그림을 그릴 도화지를 준비 해야겠죠? 아래와같이 500x 500x 3 shape의 하얀색 배경을 만들었습니다. 흰색 배경을 사용하는데 굳이 컬러 채널인 3채널을 이용한 이유는 추후 그림을 그릴때 사용되는 컬러를 입력받기 위해서 입니다. 1. 선그리기(cv2.line) output: 선은 cv2.line함수를 이용합니다. 2번째, 3번째 인자에 들어간 튜플 값은 두 점의 좌표를 의미합니다. 4번째 인자에 들어간 값은 컬러를 의미하는데요. B G R 순서로 설정되어있습니다. 우리 예시에서는 R 에 255가 채워졌으니까 도화지상에 빨간색 선이 그려진걸 알 수 있습니다. 마지막 .. 머신러닝,딥러닝/opencv 2022. 9. 6. [오픈 cv python] 이미지 읽기(cv2.imread) | 컬러 , 흑백 이번 포스팅에서는 opencv를 통해 아래 양이미지를 읽는 방법에 대해 알아보도록 하겠습니다. //sheep.jpg 1) 이미지 읽기 이미지를 읽을때는 image read의 약자인 imread함수를 이용하는데요. 인자로는 읽어올 파일의 경로를 적어주면 됩니다. 2) flag 설정 공식문서에 보면 imread함수에는 flag라는 인자값이 있는데요. 이는 해당 이미지를 읽어 올때 컬러 이미지로 읽을지, 그레이스케일 이미지로 읽을지 정하는 것이라고 보면 됩니다. 가령 컬러 이미지로 읽고 싶다면 cv2.IMREAD_COLOR, 그레이스케일 이미지로 읽고 싶을땐, cv2.IMREAD_GRAYSCALE 을 두번째 인자로 넣어주면 됩니다. 참고로 cv2.IMREAD_COLOR은 숫자 1로, cv2.IMREAD_GRA.. 머신러닝,딥러닝/opencv 2022. 8. 30. 이전 1 다음