
오픈포즈(OpenPose)를 사용하여 손가락을 인식하는 코드를 살펴봅니다.
Mat 객체에 있는 이미지 데이터를 char 배열로 옮겼다가 다시 Mat 객체로 가져오는 예제입니다. 2020. 12. 10 최초작성 #include using namespace cv; int main() { // 이미지에서 버퍼 꺼내기 Mat image = imread("1.jpg"); int width = image.cols; int height = image.rows; int bpp = image.channels(); int imagesize = width * height * bpp; uint8_t *buffer = new uint8_t[imagesize]; memcpy(buffer, image.data, imagesize); // 버퍼를 Mat에 넣어 화면에 보여주기 Mat rgb(height, ..
OpenCV에서 제공하는 샘플 중 하나인 colorization을 실행시켜 보았습니다.colorization는 흑백 사진을 컬러 사진으로 변환하는 방법입니다.
디렉토리 내에 있는 이미지 파일들을 하나씩 OpenCV의 imread 함수로 읽어서 화면에 보여주는 예제 코드입니다. 2020. 10. 24 최초작성 소스 코드 위치에 있는 dataset 폴더에 있는 이미지 파일의 경로를 하나씩 만들어서 imread 함수를 사용하여 이미지 파일을 읽어오고imshow 함수를 사용하여 화면에 보여줍니다. 아무키나 누를때마다 다음 이미지를 가져와 화면에 보여줍니다. import os import cv2 as cv for i in os.listdir('./dataset/'): path = './dataset/'+i img_color = cv.imread(path, cv.IMREAD_COLOR) cv.imshow( "image", img_color) cv.waitKey(0)
유튜브 영상의 댓글로 코드 실행시 다음과 같은 에러가 난다고 알려주신 분이 있어서 확인해보았습니다. 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를 사용하여 손 검출 및 인식하기(Hand Detection and Recognition using OpenCV)https://webnautes.tistory.com/1378 코드 작성시 테스트한 버전에서는 문제 없던 코드가 OpenCV 4.3.0에서..
OpenCV에 포함되어 있는 SIFT 알고리즘을 사용하여 사진 속에서 원하는 물체를 찾는 과정을 진행해보았습니다. 특허가 만료되어 SIFT가 OpenCV 4.4.0부터는 Extra 모듈(contrib)에서 메인 모듈로 옮겨졌습니다.별도의 빌드없이 미리 빌드되어 배포되는 OpenCV를 사용하여 SIFT를 사용할 수 있게 되었습니다. 영상에서는 OpenCV에 포함된 SIFT를 실행시키기 위해 필요한 모든 과정을 설명합니다.
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..
이번 영상에서는 윈도우즈 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를 사용하여 파란공의 위치를 트래킹하여 영상에 그림을 그려보는 코드를 소개합니다. 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를 사용하여 바닥에 놓은 트럼프 카드를 인식하는 간단한 프로젝트를 만들어 보았습니다. 실행결과와 코드 설명은 유튜브 영상을 참고하세요. 테스트에 사용한 이미지입니다.