일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구조체배열
- spring boot
- Nodejs
- 파이썬
- C언어
- 카카오 알고리즘
- 카카오
- 알고리즘
- C++
- Spring
- nestjs typeorm
- nestjs auth
- 해시
- 코딩테스트
- @Component
- git
- python
- 프로그래머스
- AWS
- OpenCV
- thymeleaf
- 가상면접사례로배우는대규모시스템설계기초
- nestJS
- 코테
- 스프링
- 카카오 코테
- 컴포넌트스캔
- TypeORM
- 시스템호출
- @Autowired
- Today
- Total
목록# Tech Studies/Computer Vision • OpenCV (18)
공부 기록장 💻
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 12. 레이블링과 외곽선 검출 정리 레이블링 이진화를 수행하면 주요 객체와 배경 영역을 구분할 수 있다. 객체와 배경을 구분하였다면, 이제 다시 각각의 객체를 구분하고 분석하는 작업이 필요하다. 이 때 사용하는 기법이 레이블링(labeling) 기법으로, 이진 영상에서 흰색으로 구분된 각 객체 픽셀 집합에 고유의 번호를 매기는 작업으로 연결된 구성 요소 레이블링(connected componetns labeling) 이라고도 한다. 레이블링 기법을 이용해 각 객체의 위치와 크기, 모양 등 정보를 추출하고 특징을 분석하는 작업은 객체 인식을 위한 전처리 과정으로 자주 사용된다. 영상의 레이블링은 일반적으로 이진화된 영상에서 수행되며, 이때 검은색 픽셀..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 11.이진화와 모폴로지 정리 모폴로지 연산 (Morphology) 모폴로지 연산은 영상 내부 객체의 형태와 구조를 분석하고 처리하는 기법이다. 이는 그레이스케일 영상과 이진 영상에 모두 적용 가능하지만, 주로 이진화된 영상에서 객체의 모양을 변형하는 용도로 사용된다. 이진 영상에서 사용되는 기본적인 모폴로지 연산 동작에 대해 이해해보고, 모폴로지 함수 사용 방법에 대해 알아보자. 이진 영상의 침식과 팽창 모폴로지(Morphology)는 형태 또는 모양에 관한 학문을 의미한다. 영상 처리 분야에서 모폴로지는 영상에서 객체의 형태 및 구조에 대해 분석하고 처리하는 기법을 의미하며, 수학적 모폴로지(mathematical morphology)라고도 한다...
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 11.이진화와 모폴로지 정리 영상의 이진화 (Binarization) 영상의 이진화 (binarization) 은 영상의 각 픽셀을 두 개의 부류로 나누는 작업이다. 이는 그레이스케일 영상의 픽셀 값을 0 또는 255로 변환하는 기법인데, 이는 영상에서 관심있는 객체 영역 (ROI, Region of Interest) 과 배경 영역을 구분하거나 관심 영역과 비관심 영역으로 구분하는 용도로 널리 사용된다. 이진화가 적용된 이진 영상은 보통 흰색과 검은색 픽셀로만 구성된다. 아래가 다양한 영상에 대해 이진화를 수행한 결과이다. 윗줄은 그레이스케일 영상이고, 아래 줄은 적절한 방법으로 이진화가 수행된 결과 영상이다. (a)의 경우 왼쪽에 위치한 흑백 사각..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH10. 컬러 영상 처리 정리 영상의 색상 정보를 이용해 영상을 처리하는 기법에 대해 알아보자. 영상의 명암비를 높이는 컬러 히스토그램 평활화 기법, 그리고 컬러 영상에서 원하는 색상 영역을 검출하는 방법에 대해 알아보자. 컬러 히스토그램 평활화 그레이스케일 영상에서 활용한 equalizeHist() 함수를 통해 히스토그램 평활화를 수행했다. 3채널 컬러 영상에 대해 히스토그램 평활화를 수행하기 위해서는, RGB 3개의 채널에 대해 각각 평활화를 수행하는 것이 아니라, YCrCb 색 공간으로 변환하고, Y 성분에 대해서만 히스토그램 평활화를 수행해야 한다. 만약 다음과 같이 RGB 각 채널에 히스토그램 평활화를 수행하면 어떻게 될까? 이 방식으로 각 채..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH10. 컬러 영상 처리 정리 컬러 영상의 픽셀 값 참조 OpenCV에서 영상 파일을 불러와 Mat 객체를 생성할 때 imread() 함수를 사용하는데, 이때 두번째 인자를 IMREAD_COLOR로 설정하면 영상을 3채널 컬러 영상 형식으로 불러올 수 있다. 일반적으로 컬러 영상은 흔히 RGB라 불르는 빨간색(R), 초록색(G), 파란색(B) 색상 성분의 조합으로 픽셀 값을 표현한다. 그러나 OpenCV는 RGB가 아닌, BGR 색상 순서로 픽셀 값을 표현한다. 즉, imread() 함수로 영상을 3채널 컬러 영상 형식으로 불러오면 각 픽셀의 색상 값이 B, G, R 순서로 저장된 Mat 객체가 생성된다. 컬러 영상에서 각각의 R, G, B 색상 성분은..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 이번엔 영상에서 추출한 에지 정보를 이용해 영상에서 직선 또는 원을 검출해보자. 컴퓨터 비전에서 직선 검출은 주로 허프변환 기법을 사용한다. 기본적인 허프 변환 이론과 직선 검출에 적용되는 방법, 그리고 원을 검출하기 위해 사용되는 허프 그래디언트 방법까지 이해해보자. 허프 변환 직선 검출 직선은 영상에서 찾을 수 있는 많은 특징 중 하나이며 영상 분석에 있어 중요한 정보를 제공한다. 자율 주행 자동차에서 차선을 검출하거나, 수평이 맞지 않는 영상에서 수평선이나 수직선 성분을 찾아내어 자동 영상 회전을 하는 등 다양한 분얃에서 활용된다. 영상에서 직선 정보를 찾기 위해서는 1. 우선 에지를 찾아내야 하고 2. 에지 픽셀들이..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 캐니 에지 검출기 소벨 마스크를 이용한 에지 검출 방법은구현이 간단하고 빠르게 동작하여 현재 컴퓨터 비전 시스템에서 사용되고 있지만, 그래디언트 크기만을 기준으로 에지 픽셀을 검출하기 때문에 임계값에 민감하고 에지 픽셀이 두껍게 표현되는 문제점이 있다. 1986년 캐니(J. Canny)는 에지 검출을 최적화 문제 관점으로 접근함으로써 소벨 에지 검출 방법의 단점을 해결할 수 있는 방법을 제시하였다. 캐니는 다음 세가지 항목을 좋은 에지 검출기의 조건으로 제시하였다. 1. 정확한 검출 (Good Detection) : 에지를 검출하지 못하거나, 또는 에지가 아닌데 에지로 검출하는 확률 최소화 필요 2. 정확한 위치 (Good..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 마스크 기반 에지 검출 영상을 x, y축 방향으로 편미분 하는 1x3, 3x1 크기의 마스크를 통해 에지를 검출할 수 있는 것 같지만, 사실 대부분의 영상에는 잡음이 포함되어 있어 단순히 1x3, 3x1 마스크를 이용해서 미분을 구할 경우 다소 부정확한 결과가 생성될 수 있다. 따라서 실제 영상에서 미분을 구할 때는 좀 더 큰 크기의 마스크를 사용한다 가장 널리 사용되고 있는 미분 근사 마스크는 소벨 필터(Sobel Filter) 마스크 이다. 아래 그림 (a)는 x축으로 방향으로의 편미분을 구하는 소벨 마스크를, (b)는 y축 방향으로 편미분을 구하는 소벨 마스크이다. (a)에 나타난 미분 마스크는 현재 행에 대해 중앙 ..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출 정리 영상의 에지 검출 영상에서 에지(edge)란 한쪽 방향으로 픽셀 값이 급격하게 바뀌는 부분으로, 픽셀 값의 변화율을 이용해 이를 찾을 수 있다. 2차원 디지털 영상에서 픽셀 값의 변화율을 근사화하여 구하는 방법과 다양한 응용에서 영상의 미분을 구하는 용도로 사용되고 있는 소벨 필터에 대해 알아보자. 미분과 그래디언트 에지란, 픽셀 값이 급격하게 바뀌는 부분으로 어두운 영역에서 갑자기 밝아지거나 반대로 밝은 영역에서 급격히 어두워지는 부분을 말한다. 일반적으로 객체와 배경의 경계, 또는 객체와 다른 객체의 경계에서 에지가 발생한다. 따라서 에지 검출은 컴퓨터 비전 시스템에서 객체의 윤곽을 알아내고, 객체를 판별하기 위한 전처리로 많..
OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 CH8. 영상의 기하학적 변환 정리 영상의 투시 변환 영상의 기하학적 변환 중, 어파인 변환보다 자유도가 높은 투시 변환이 있다. 투시 변환 (Perspective Transform) 은 직사각형 형태의 영상을 임의의 블록 사각형 형태로 변경할 수 있는 변환이다. 원본 영상에 있던 직선은 투시 변환에 의해 결과 영상에서 그대로 직진성이 유지되지만, 두 직선의 평행 관계는 깨어질 수 있다. 투시 변환은 보통 3x3 크기의 실수 행렬로 표현하며, 8개의 파라미터로 표현할 수 있지만, 좌표 계산의 편의상 9개의 원소를 갖는 3x3 행렬을 사용한다. 투시 변환을 표현하는 행렬을 Mp라고 하면, 입력 영상의 픽셀 좌표 (x,y)가 행렬 Mp에 의해 이동하는 결과 ..
보호되어 있는 글입니다.
OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 CH8. 영상의 기하학적 변환 정리 영상의 기하학적 변환 영상의 기하학적 변환 (Geometric Transform) 은 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 전체 영상의 모양을 바꾸는 작업이다. 앞서 배운 영상의 밝기와 명암비 조절, 필터링 등은 픽셀 위치가 고정된 상태에서 값이 변경되었던 반면, 기하학적 변환은 픽셀 값은 그대로 유지하면서 위치를 변경하는 작업이다. 입력 영상에서 (x,y) 좌표의 픽셀을 결과 영상의 (x', y') 좌표로 변환하는 방법은 다음과 같이 고유의 함수 형태로 나타낼 수 있다. 1. 어파인 변환 영상의 기하학적 변환 중에서 어파인 변환 (Affine Transform) 이란 영상을 평행 이동시키거나 회전, 크기 변..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 https://dream-and-develop.tistory.com/309 샤프닝: 영상 날카롭게 하기 블러링과 반대되는 개념인 샤프닝 (Sharpening) 기법은, 사물의 윤곽이 뚜렷하고 선명한 느낌이 나도록 영상을 변경하는 필터링 기법이다. 언샤프 마스크 필터 샤프닝 기법을 구현하기 위해서는 블러..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 (https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 (https://dream-and-develop.tistory.com/309) 블러링: 영상 부드럽게 하기 블러링(Blurring) 이란, 초점이 맞지 않은 사진처럼 영상을 부드럽게 만드는 필터링 기법으로, 스무딩(smoothing)이라고도 한다. 영상에서 인접한 픽셀 간의 픽셀 값 변화가 크지 않은..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 https://dream-and-develop.tistory.com/309 영상의 필터링 영상 처리에서 필터링(filtering) 이란, 영상에서 원하는 정보만 통과시키고 원치 않는 정보는 걸러 내는 작업이다. 영상의 필터링은 보통 마스크(mask) 라 부르는 작은 크기의 행렬을 이용한다. 마스크는 필..
Opencv 4로 배우는 컴퓨터 비전과 머신러닝 CH6 영상의 산술 및 논리 연산 정리 영상의 산술 연산 영상은 일종의 2차원 행렬이므로, 행렬의 산술 연산(arithmetic operation)을 그대로 적용할 수 있다. 즉 두 개의 영상을 서로 더하거나 빼는 연산을 수행함으로써 새로운 결과 영상을 생성할 수 있다. 영상의 덧셈 연산을 수식으로 표현하면 다음과 같다. 두 입력 영상(src1, src2) 에서 같은 위치 픽셀 값을 서로 더하여 결과 영상 픽셀값(dst(x,y)) 으로 설정하는 연산이라 할 수 있다. 덧셈 연산 수행 시, 그레이스케일 최댓값인 255보다 결과값이 커지는 경우가 발생하는데 이러한 경우 결과 영상 픽셀값을 255로 설정하는 포화 연산도 함께 수행해야 한다. 이를 수식으로 좀 더..
Open CV 4로 배우는 컴퓨터 비전과 머신러닝 CH5 영상의 밝기와 명암비 조절 정리 히스토그램 스트레칭 히스토그램 스트래칭(Histogram Stretching) 이란, 영상의 히스토그램이 그레이스케일 전 구간에 걸쳐서 나타나도록 변경하는 선형 변환 기법이다. 보통 명암비가 낮은 영상은 히스토그램이 특정 구간에 집중되어 나타나는데, 이러한 히스토그램을 마치 고무줄을 잡아 늘이듯 펼쳐서 히스토그램 그래프가 그레이스케일 전 구간에서 나타나도록 변환하는 기법이다. 히스토그램 스트레칭을 수행한 영상은 명암비가 높아져서 대체로 선명하고 보기 좋은 사진으로 바뀐다. 히스토그램 스트레칭의 수식은 다음과 같이 표현할 수 있다. Gmax가 입력 영상의 픽셀 값중 가장 큰 그레이스케일 값, Gmin이 가장 작은 그레..
Open CV 4로 배우는 컴퓨터 비전과 머신러닝 CH5 영상의 밝기와 명암비 조절 정리 히스토그램 분석 픽셀 값 변환을 통해 밝기와 명암비를 조절했다면, 주어진 영상의 픽셀 밝기 분포를 조사하여 밝기 및 명암비를 적절하게 조절하는 방법에 대해 알아보자. 히스토그램 구하기 그레이스케일 영상의 경우, 각 그레이스케일 값에 해당하는 픽셀의 개수를 구하고 이를 막대 그래프 형태로 표현함으로써 히스토그램을 구할 수 있다. 컬러 영상의 경우, 3개의 색상 성분 조합에 따른 픽셀 개수 각각 계산하여 히스토그램 구성한다. 컴퓨터 비전에서의 히스토그램(histogram)이란, 영상의 픽셀 값 분포를 그래프 형태로 표현한 것이라 할 수 있다. 위의 4x4 입력 영상은 각 픽셀이 0부터 7 사이의 밝기를 가질 수 있는 단..