[OpenCV] 동전 검출 및 자동 계산기
토이 프로젝트를 진행하면서 기록을 해두고 싶어서 포스트잇 방식으로 씁니다.관련 코드는 아래 링크를 참고하여 만들었습니다.『OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝』 2022.05.07 OpenCV를 공부도 하고 글로도 정리하는데 머리속으로 잘 들어 오지 않아 간단한 토이 프로젝트를 해보기로 …
토이 프로젝트를 진행하면서 기록을 해두고 싶어서 포스트잇 방식으로 씁니다.관련 코드는 아래 링크를 참고하여 만들었습니다.『OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝』 2022.05.07 OpenCV를 공부도 하고 글로도 정리하는데 머리속으로 잘 들어 오지 않아 간단한 토이 프로젝트를 해보기로 …
이번 글에서는 엠보싱(Embossing) 필터링에 대해 알아보겠습니다. 엠보싱은 인쇄물이나 철판, 종이 등에 표현하고자 하는 것을 오목하거나 볼록하게 만든 것을 말하며, 영상 처리에서 엠보싱 필터링은 이러한 형태로 필터링 한것을 말합니다.아래 이미지는 레나 이미지를 엠보싱 필터링 처리한 이미지 입니다. …
이번 글에서는 필터링에 대해 기본적인 방법을 알아보겠습니다. 필터(filter)라는 말은 일상에서 보통, ‘원하지 않은 것들을 걸러내고, 원하는 것은 통과시키는 것’을 말합니다.영상에서의 필터링이란, 영상에서 원하지 않은 정보는 걸러내고, 원하는 정보는 통과시키는 작업을 말합니다.영상의 잡음을 제거하는 것을 필터링이라고 할 …
이번글에서는 안드로이드 스튜디오에서 Native C++을 사용해보겠습니다. ‘File’ – ‘New’ – ‘New Project’를 눌러 Native C++을 하나 생성해줍니다. 적당한 경로에 적당한 이름으로 만들어줍니다. 생성한 상태에서 바로 실행을 하게되면 아래와 같이 Hello From C++이라는 문구가 나타나게 됩니다. 우선 코드를 …
이번 글에서는 안드로이드에서 OpenCV를 연동하기 전, NDK를 사용하는 방법에 대해 알아보겠습니다. 안드로이드 NDK는 C 및 C++와 같은 언어를 사용하여 네이티브 코드로 앱의 일부를 구현할 수 있게 하는 도구 모음입니다. 안드로이드 NDK를 사용할때 JNI라는 단어를 많이 …
이번 글에서는 히스토그램 평활화(histogram equalization)에 대해 알아보겠습니다.히스토그램 평활화는 스트레칭과 마찬가지로, 영상의 픽셀 값이 영상 영역 전체에 골고루 분포하도록 하는 알고리즘입니다. 아래와 같이 명암비가 낮은 이미지와 히스토그램이 있습니다. 명암비가 낮고 분포가 한곳에 몰려있는 영상 명암비가 낮고 …
저번 글에서는 히스토그램의 개념에 대해 간단히 알아보았습니다.이번 글에서는 히스토그램 개념에서 더 나아가 히스토그램 스트레칭(Histogram Stretching)에 대해 알아보겠습니다. 우선 영상의 명암의 변화가 히스토그램 모양에 어떤 변화가 생기는지 알아보겠습니다.그레이스케일의 레나 이미지가 전반적으로 어두워질 경우 히스토그램의 위치가 좌측으로 많이 치우쳐집니다. …
이번 글에서는 히스토그램(Histogram)에 대해 알아보겠습니다. 그레이스케일 영상에서 히스토그램은 픽셀의 밝기값의 분포를 그래프 형태로 나타낸 것을 말합니다. 위와 같은 4X4 크기의 이미지가 있습니다.위 이미지는 0 ~ 7값을 가지며, 각 값들의 개수를 세어서 그래프 형태로 표현한 그림은 아래 그림과 …
이번글에서는 영상의 명암에 대해 알아보겠습니다. 영상에서 명암비란 밝기 차이의 강도를 의미하고, 전반적으로 비슷한 밝기의 픽셀로 이루어질 경우 명암비가 낮다고 하고 밝은 픽셀과 어두운 픽셀이 골고루 있을 경우 명암비가 높다고 합니다. 오른쪽 레나가 왼쪽 레나보다 명암비가 높습니다. 오른쪽 …
이번 글에서는 영상의 밝기에 대해 알아보겠습니다. 그레이스케일 영상에서 픽셀값은 0 ~ 255 값을 가지는데 255에 가까울수록 밝아지고, 0에 가까울수록 어두워집니다. 영상 밝기를 증가시키는 코드는 아래와 같습니다. 반대로 영상을 어둡게 할 경우 아래와 같이 마이너스 연산을 …