Computer Vision/OpenCv 7

OpenCV 이미지 검출 (2)

윤곽선 (Contour) 검출Contour(윤곽선)과 Edge(가장자리)의 차이는 Segment(서로 다른 두 점을 연결하는 가장 짧은 선)의 유무Edge : 필터링을 통해 가장 자리에 대한 정보만 있는 상태Contour : 가장 자리 정보를 모아서 선을 이루고 특정 도형으로 분류된 상태보통 Edge 검출 후 Segmentation(픽셀을 그룹별로 분류하는 것) 을 거쳐 Contour 이미지를 생성일반적으로 Contour 작업을 거쳐야 사물 인식이 가능윤곽선 (Contour) 계층 구조 (Hierarchy)다음 / 이전 윤곽선 = 같은 계층의 윤곽선자식 / 부모 윤곽선 = 하위 / 상위 계층의 윤곽선윤곽선 (Contour)  그리기윤곽선 검출로 얻은 윤곽점을 이어서 선으로 그림예시 코드 1using Sy..

OpenCV 이미지 검출 (1)

가장 자리(Edge) 검출Edge 검출은 특정 사물 또는 객체의 테두리를 의미전경(Foreground)와 배경(Background)의 경계선즉, 밝기가 큰 폭으로 변경되는 지점가장 자리(Edge) 검출 알고리즘 종류Sobel derivative : 소벨 미분 Scharr filter : 샤를 필터Lapacian : 라플라시안Canny Edge : 캐니 엣지가장 자리를 검출 활용영상처리를 진행하는데 있어 연산량을 압도적으로 줄여줌물체 감지, 차선 감지, 의료 이미지 분석 등에 널리 사용영상 필터링커널(Kernal 또는 Mask, 필터 값이 적용된 2차원 배열)을 이용하여 전체 픽셀에 대해 필터링을 수행소벨 미분 (Sobel derivate)원본 이미지에 대해 가로용, 세로용 커널을 적용 후 두 결과 이미지..

Scalar와 Vector 비교

Vector와 Scalar 비교1. Scalar (스칼라)정의- scalar는 OpenCV에서 4개의 값(R, G, B, A)을 저장할 수 있는 고정 크기 데이터 구조- 주로 색상이나 고정된 겂을 표현 시 사용구조- 형식 : Scalar(double v0, double v1 = 0, double v2 = 0, double v3 = 0)- v0 : 보통 Blue 값 (OpenCV는 기본적으로 BGR 순서를 사용)- v1 : Green- V2: Red- v3 : Alpha (투명도) (옵션)용도1) 색상 지정     ex) 빨간색 선을 그릴 때 Cv2.Line(image, pt1, pt2, new Scalar(0, 0, 255)); // BGR: (0, 0, 255) → 빨간색        2) 이미지 전..

OpenCV 기초 (1)

OpenCV 데이터 종류Vector, 벡터Point, 포인트Scala, 스칼라Size, 사이즈Range, 범위Rect, 직사각형RoatatedRect, 회전 직사각형Mat, 2차원 배열1) VectorVector 구조체2) PointPoint 구조체 3) Scalarscalar 구조체4) SizeSize 구조체5) RangeRange 구조체 6) RectRect 구조체7) RotatedRectRotatedRect 구조체8) MatMat 데이터 클래스Mat 데이터 클래스 - 요소 접근이미지 불러오기이미지 출력하기마우스 콜백1) 콜백 이란?2) Delegate와 Event의 차이점3) 마우스 콜백 (이벤트)이미지 위에 마우스로 그리기MouseEventCallback 사용Event 메소드의 입력 값인 마우스 ..

OpenCV 소개 및 설치

OpenCV란?Open Source Computer Vision LibraryIntel 에서 최초 개발 (1999)C/C++, C#, Pyton, Java 지원500가지가 넘는 영상 처리 알고리즘이 최적화 되어 있음GPU 가속 모듈을 지원머신러닝과 관련된 모듈을 포함컴퓨터 비전 분야를 발전 시키기 위한 목적OpenCV 버전 OpenCV 2.X - IOS 및 안드로이드 지원 (2009)OpenCV 3.X - GPU 가속화(IPP) 지원 (2015)OpenCV 4.X - 안정성 및 메모리 소비 감소 (2018)- 사용하지 않는 OpenCV 1.X 기반 API 제거일반적인 영상처리 과정OpenCV - C# 활용 - OpenCVSharp 설치Nuget 패키지 설치- .Net framework는  8.0 이상 필..

머신 비전 기초(2)

디지털 변환샘플링, 양자화를 거쳐 실제 장면이 픽셀(Pixel) 단위의 숫자로만 이루어진 영상 데이터로 변환됨영상 데이터 포맷이미지에 사용하는 용어1) Pixel- 디지털 이미지의 가장 작은 단위. 픽셀 하나는 특정한 색상과 밝기를 가지며, 많은 픽셀들이 모여 하나의 이미지를 구성2) BMP (Bitmap)- 무압축 또는 비손실 압축된 이미지 포맷. 고화질을 유지하지만 파일 크기가 큼3) JPG (JPEG)- 손실 압축 이미지 포맷. 파일 크기를 줄이면서 품질 손실이 발생할 수 있음. 사진 저장에 주로 사용4) GIF (Graphics Interchange Format)- 256색 제한이 있는 이미지 포맷. 짧은 애니메이션에 주로 사용5) PNG (Portable Network Graphics)- 비손실..

머신 비전 기초 (1)

머신 비전 이란?컴퓨터나 기계가 시각적인 역할을 처리할 수 있도록 연구하는 분야인간이 시각정보를 보고 판단하듯, 컴퓨터는 영상 데이터를 보고 판단이미지 센서가 빛의 양(Intensity)을 감지하여 숫자로 변환직접 각종 영상 입력 장치(주로 카메라)와 연결하고, 영상처리(Image Processing) 기능을 하는 프로그램을 개발하는 것은 어려움보통은 머신 비전용 라이브러리를 사용머신 비전은 인공지능의 한 분야카메라, 스캐너와 같은 영상 매체를 통해 입력받은 이미지 또는 영상에서 물체(Object), 전경(Foreground), 배경(Background)과 같은 유의미한 정보를 생성하는 기술컴퓨터에게 사람과 같은 정보 해석 능력을 주는 것은 쉽지 않음비디오 파일이 만들어지는 과정비디오 파일 : 카메라를 ..