반응형
OpenCV Python 사용하여 스티칭(stitching) 구현하기
OpenCV/OpenCV 강좌2020. 4. 30. 10:56OpenCV Python 사용하여 스티칭(stitching) 구현하기

OpenCV Python을 사용하여 stitching을 구현해보았습니다. 스티칭(stitching)은 같은 장소 또는 같은 객체를 촬영한 여러 장의 사진에서 공통적인 부분을 찾아 이미지를 하나로 연결하는 알고리즘입니다. 결과적으로 아래 이미지처럼 파노라마 이미지가 만들어 집니다. 포스트의 코드는 다음 두 곳의 코드를 기반으로 작성되었습니다. https://github.com/opencv/opencv/blob/master/samples/python/find_obj.py https://www.pyimagesearch.com/2016/01/11/opencv-panorama-stitching/ 영상에 코드 설명이 되어 있습니다. ''' https://github.com/opencv/opencv/blob/mast..

화면 캡처한 결과를 입력으로 하여 OpenCV Python에서 템플릿 매칭해보기
OpenCV/OpenCV 강좌2020. 4. 9. 20:20화면 캡처한 결과를 입력으로 하여 OpenCV Python에서 템플릿 매칭해보기

이번 영상에서는 윈도우즈 10에서 화면을 캡처한 결과를 입력으로 사용하여 OpenCV Python에서 탬플릿 매칭을 해보았습니다. # pip install pyautogui # pip install opencv-python import cv2 as cv import numpy as np import pyautogui cv.namedWindow("result"); cv.moveWindow("result", 0, 500); img_piece = cv.imread('dino.png', cv.IMREAD_COLOR) h,w = img_piece.shape[:2] while 1: pic = pyautogui.screenshot(region=(0, 0, 700, 500)) img_frame = np.array(pi..

OpenCV 기반으로 파란공 트래킹(tracking)하여 그림 그리기
OpenCV/OpenCV 강좌2020. 3. 26. 11:36OpenCV 기반으로 파란공 트래킹(tracking)하여 그림 그리기

이번 영상에서는 OpenCV를 사용하여 파란공의 위치를 트래킹하여 영상에 그림을 그려보는 코드를 소개합니다. import cv2 as cv def draw_ball_location(img_color, locations): for i in range(len(locations)-1): if locations[0] is None or locations[1] is None: continue cv.line(img_color, tuple(locations[i]), tuple(locations[i+1]), (0, 255, 255), 3) return img_color cap = cv.VideoCapture(0) list_ball_location = [] history_ball_locations = [] isDraw ..

OpenCV를 사용하여 바닥에 놓인 트럼프 카드(Playing Card) 인식하기
OpenCV/OpenCV 강좌2020. 3. 18. 14:03OpenCV를 사용하여 바닥에 놓인 트럼프 카드(Playing Card) 인식하기

OpenCV를 사용하여 바닥에 놓은 트럼프 카드를 인식하는 간단한 프로젝트를 만들어 보았습니다. 실행결과와 코드 설명은 유튜브 영상을 참고하세요. 테스트에 사용한 이미지입니다.

OpenCV [ WARN:0] terminating async callback 해결 방법
OpenCV/OpenCV 강좌2019. 10. 28. 21:43OpenCV [ WARN:0] terminating async callback 해결 방법

OpenCV Python API를 사용하여 카메라로부터 영상을 캡처하는 경우.. 프로그램 종료시 보이는 메시지입니다. 프로그램을 실행하는데 문제가 없어서 무시해도 되지만.. 다음처럼 해서 안보이도록 할 수 있습니다. 윈도우의 경우 해결방법입니다. 우분투의 경우에도 같은 문제가 발생하는지 아직 확인을 못해봤습니다. cap = cv.VideoCapture(0, cv.CAP_DSHOW) 찾아보니 카메라로부터 캡처시 사용할 벡엔드를 지정하는 거라고 하네요. 사용가능한 전체 벡엔드 목록은 아래 링크에서 확인할 수 있습니다. https://docs.opencv.org/master/d4/d15/group__videoio__flags__base.html#ga023786be1ee68a9105bf2e48c700294d

OpenCV를 사용하여 손 검출 및 인식하기(Hand Detection and Recognition using OpenCV)
OpenCV/OpenCV 강좌2019. 9. 24. 22:14OpenCV를 사용하여 손 검출 및 인식하기(Hand Detection and Recognition using OpenCV)

OpenCV를 사용하여 손을 검출 및 인식하는 방법에 대해 다룹니다. 현재 두가지 방법으로 코드가 작성되었습니다. Background Subtraction을 사용한 방법과 HSV 공간에서 살색을 검출한 방법입니다. 다음 에러가 발생하는 경우 아래 포스트를 참고해보세요 The convex hull indices are not monotonous, which can be in the case when the input contour contains self-intersections in function 'cv::convexityDefects [OpenCV / Python ] convexityDefects 함수에 convex hull indices are not monotonous ... self-inters..

OpenCV를 사용하여 책 검출하기(book detection with OpenCV)
OpenCV/OpenCV 강좌2019. 9. 17. 08:59OpenCV를 사용하여 책 검출하기(book detection with OpenCV)

안녕하세요. 웹나우테스입니다 : ) OpenCV를 사용하여 책을 검출한 후, 정면에서 본 장면으로 변환합니다.

OpenCV 강좌 C++ & Python -  컨투어 영역에 텍스쳐 넣기(applying texture in a contour area)
OpenCV/OpenCV 강좌2019. 8. 18. 12:40OpenCV 강좌 C++ & Python - 컨투어 영역에 텍스쳐 넣기(applying texture in a contour area)

이미지에서 검출된 컨투어 영역에 특정 이미지를 텍스쳐로 넣는 예제입니다. 실행시키면 다음처럼 검출된 원 모양 컨투어 내부에 이미지 일부를 보여줍니다. 최초작성 2019. 7. 23 최종작성 2019. 8. 18 테스트에 사용한 이미지입니다. 전체 소스 코드입니다. Python import cv2 as cv import numpy as np # 마스크로 사용할 이미지와 텍스처로 사용할 이미지를 불러옵니다. img_input_mask = cv.imread('1.png') img_input_texture = cv.imread('2.png') # 마스크로 사용할 이미지를 바이너리 이미지로 변환합니다. img_gray = cv.cvtColor(img_input_mask, cv.COLOR_BGR2GRAY) # 그레..

OpenCV 강좌 - Camshift 이론과 C++ 예제(Camshift example code in C++)
OpenCV/OpenCV 강좌2019. 7. 30. 09:12OpenCV 강좌 - Camshift 이론과 C++ 예제(Camshift example code in C++)

간단히 Camshift 이론을 설명하고 webcam과 video 영상에 ROI를 지정하여 동작하도록 C++로 작성된 Camshift 예제 코드를 동작시켜 봅니다. #include #include using namespace cv; using namespace std; // 아래 줄을 주석처리하면 비디오 영상에 대해 동작 //#define WEBCAM bool mouse_is_pressing = false; int start_x, start_y, end_x, end_y; int step = 0; Mat img_color; Rect roi; void swap(int* v1, int* v2) { int temp = *v1; *v1 = *v2; *v2 = temp; } void mouse_callback(int..

OpenCV에서 이미지의 픽셀에 접근하는 방법
OpenCV/OpenCV 강좌2019. 7. 18. 18:50OpenCV에서 이미지의 픽셀에 접근하는 방법

OpenCV에서 이미지의 픽셀에 접근하는 방법을 픽셀 개념부터 설명합니다. 추가로 C++에서 OpenCV 이미지의 픽셀에 접근하는 방법을 비교 소개하고 있는 다음 글도 참고하세요. OpenCV C++ 강좌 - 4. Mat에 저장된 이미지 픽셀 값에 접근하는 방법 비교 https://webnautes.tistory.com/1169

반응형
image