Review

[논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트

[논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트

tkdzma8080 contents are below.

References: 05-tkdzma8080 contents: Go Click
Other Blog: Blog ArtRobot (Title: [논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트) More …
Publish Date: (2024-06-30|8:10 pm), Modified Date: (2024-07-01|1:38 pm)


— Blog Post Contents
Vision 세미나 발표자료 – (2) 특징기술
2차원 이미지 상의 특징을 기술하기 위한 여러가지 방법에 대해서 발표한 자료입니다. 출처를 명시하는 조건 내에서 교육용 및 비상업적으로 사용이 가능합니다. (Publish Date: 2020-04-27)

Vision 세미나 발표자료 – (1) 영상변환과 주파수영역
2월 13일에 진행하였던 컴퓨터비전 신입생 세미나 발표자료입니다. 영상변환과 주파수영역에 대해서 다룬 세미나로 FFT, DCT의 내용이 포함되어있습니다. 본 자료는 출처를 밝히고 다른 곳에 사용하셔도 무방합니다. (Publish Date: 2020-02-21)

Python으로 하는 OpenCV 강좌 – (12) 푸리에 변환
저주파와 고주파의 정의 저주파 : 주변 영역과 명암 값의 차이가 나는 부분의 빈도가 낮은 영역 고주파 : 주변 영역과 명암 값의 차이가 나는 부분의 빈도가 높은 영역 제 바탕화면인데요, 하늘 부분은 명암값 변화가 작고, 산 부분은 명암값 변화가 큽니다. 이러한 것으로 저주파와 고주파를 구분지을 수 있습니다. 그런데 왜 하필 명암 변화 빈도를 저주파와 고주파를 나누는 기준으로 설정했을까요? 사실 고주파 == 고에너지 니까 파랗고 밝은 부분을 고주파라고 해도 말이 되지 않을까요? 이러한 물음은 주파수의 정의를 찾아보면 이유를 알 수 있습니다. 주파수의 정의 여러분이 물리 시간에 배우신 주파수 공식입니다. 위 식은 사……. (Publish Date: 2020-02-11)

Python으로 하는 OpenCV 강좌 – (11) 디더링과 오류확산법
디더링은 다운샘플링 기술 중 하나로 주로 아날로그 신호를 디지털 신호로 변환할 때 또는 높은 품질의 디지털 신호를 낮은 품질로 변환할 때 발생하는 오차를 감추는 역할을 합니다. 인간은 소리 듣거나 이미지를 볼 때 만약 디지털 신호로 변환된 아날로그 신호의 경우 이를 디지털 신호로서 느끼는 것이 아니라 원본 아날로그 신호에 노이즈가 끼어있는 것 처럼 느낍니다. 이를 양자화 노이즈라고 합니다. 이러한 양자화 노이즈는 다운 샘플링 시 필연적으로 발생하게 되며, 이를 위하여 고의적으로 노이즈를 끼얹어(노이즈는 노이즈로 잡는다) 양자화 노이즈를 상쇄시키는 것을 디더링이라고 합니다. 모자이크된 영상 볼 때 눈을 흐릿하게 해……. (Publish Date: 2020-02-07)

Python으로 하는 OpenCV 강좌 – (10) 기하학적 처리와 보간법
기하학적 처리란? 기하적 처리란 고등학교 때 기하와 벡터 배우셨죠? 이미지의 속성을 변경시키는 게 아니라 위치를 변형시키는 기법입니다. 쉽게 말하면 늘렸다가 줄였다가 꾸겼다가 기울였다가 하는 일련의 과정들을 말합니다. 기본적인 기하학적 처리로는 스케일(Scale), 회전(Rotation), 이동(Translation)이 있습니다. 수학적 기하와 디지털 기하 처리의 차이점 수학적인 기하적 변형과 컴퓨터에서 하는 기하적 변형의 가장 큰 차이점은 손실의 유무입니다. 컴퓨터에서 모든 데이터는 자료형이 존재하고 이러한 자료형은 데이터를 왜곡 및 손실시킵니다. 아래에서 다룰 여러가지 기하학적 처리의 문제점은 여기에서 출발합니다. 오늘 시간에……. (Publish Date: 2020-02-06)

Python으로 하는 OpenCV 강좌 – (9) 미디안 필터링
미디안 필터는 간단합니다. 커널 내부의 값 중에 중간인 값을 찾아서 대표값으로 설정하면 됩니다. 미디안 필터는 일반적으로 산술평균으로 정하는 것 보다 정확도가 높습니다. 산술평균으로 할 경우에는 엣지 부근에 있는 값들이 소실되어 사실상 블러링이 되기때문에, 미디안 필터를 사용하는 것이 엣지를 보존하면서 노이즈를 제거하는 용도로 더 탁월합니다. 특히 미디안 필터는 광범위함 노이즈보다는 임펄스 잡음에 특화되어 있으며, 커널의 모양은 굳이 정사각형의 블러 형태가 아니라 여러가지 모양으로 적용할 수 있습니다. 먼저 임펄스 잡음이 있는 레나 이미지를 다운받아주세요. impuse.png는 컬러 임펄스이고, impulse2는 흰색으로……. (Publish Date: 2020-02-06)

Python으로 하는 OpenCV 강좌 – (8) 2차 미분 엣지 검출
이전에 배웠던 1차 미분 엣지는 2번에 걸쳐 컨볼루션 필터를 통과하는 걸로 그쳤지만. 2차 미분 연산자의 경우 좀 더 복잡하고, 또 정교합니다. 오늘은 그 중에서도 Compass 기울기 연산자를 다뤄보겠습니다. Compass는 8개 방향에 대해서 엣지를 검출하고 각 엣지별로 최댓값을 취합하는 방식으로 구현됩니다. 1. 8개 방향으로 커널을 만들고 각각 컨볼루션 2. 각 결과값의 최댓값으로된 새로운 엣지 이미지를 도출 Prewitt Compass Edge 우리는 그 중 Prewitt Compass 엣지 추출을 해보겠습니다. Compass 엣지는 이 외에도 여러가지 방법이 있습니다. (Kirsch, Robinson 3 level, Robinson 5 level 등…) Compass 엣지의 특징 및 장단점 8가지……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (7) 1차 미분 엣지 검출
이전에 배웠던 엣지 검출은 (유사 연산자, 차 연산자) 낮은 레벨의 엣지 검출 방식으로, 이미지가 세분화됨에 따라 보다 복잡한 방식의 엣지 검출 방식이 필요해지게 되었습니다. 따라서 이전에 배웠던 Convolution 기법을 이용한 엣지 추출방식을 사용하게 되었으며 본 1차 미분 엣지 검출에서는 이러한 회선 기법을 2번 거치는 엣지 검출법에 대해서 배워보겠습니다. 기본원리 1. x 축 커널에 대해 컨볼루션 진행 : ⓐ 2. y 축 커널에 대해 컨볼루션 진행 : ⓑ 3. 각 결과의 절대값의 합인 |ⓐ| + |ⓑ| 를 계산하면 끝 여러가지 1차 미분 엣지 검출 방법 오늘 다룰 엣지검출 방법은 Prewitt, Sobel, Roberts, Frei-chen 4가지 입니다. 지금까지……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (6) Convolution
컨볼루션 (회선) 은 가장 보편적인 이미지처리 방법 중 하나입니다. 기본 원리는 Kernel 이라는 가중치 필터를 이미지 상에서 천천히 이동시키면서 이미지를 변형하는데, 이 커널의 종류에 따라 블러링이 될 수도 엠보싱이 될 수도, 엣지 추출이 될 수도 있습니다. 최근에는 이러한 컨볼루션 방식이 딥러닝 모델에 적용되면서 그 활용범위가 점점 늘어나고 있습니다. 커널은 이동하면서 해당 위치에 있는 픽셀 값 * 커널의 가중치 를 곱한 다음 이를 모두 합해서 포인트에 채워넣습니다. 엠보싱 먼저 간단한 예시로 엠보싱에 사용되는 위와 같은 (3,3) 커널을 이용하여 컨볼루션 처리를 해보도록 하겠습니다. 엠보싱 처리가 되면서 마치 양각으로……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (5) 엣지 검출
엣지란 이미지에서 한 영역에서 다른 영역으로 색상이나 밝기가 크게 바뀌는 경계를 의미합니다. 엣지의 종류는 반드시 선이 아니라 그라데이션이나 면의 형태를 보이기도 합니다. 엣지 검출에는 여러가지 방법이 있지만 먼저 고전적인 엣지 검출 방법에 대해서 설명해드리고자 합니다. 유사연산자 어떤 포인트와 그 포인트를 둘러싸고 있는 커널 영역이 있을 때 커널 영역의 값과 커널의 중심인 포인트 값의 차를 구한 뒤 그 절댓값이 가장 큰 값을 해당 포인트의 값으로 대체하는 연산자입니다. 그림으로 보시겠습니다. 유사연산자는 한 번에 8회의 연산이 수행됩니다. 구현 코드는 아래와 같습니다. 차연산자 차 연산자는 4회의 연산이 수행되……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (4) 색상 표현
사실 가장 처음에 다뤘어야하는 내용이지만, 아무래도 여러분이 코딩을 한 번 쯤 경험해보는 건 나쁘지 않다고 판단해서 일단 따라하세요 개념으로 시작했었는데 오늘 다룰 이 내용은 철저하게 이론적인 내용입니다. 컴퓨터비전 뿐만 아니라 미술계나 출판 쪽에서도 적용되는 이론입니다. RGB 우리 눈의 시각세포는 색상과 명암을 받아들임으로서 시각정보를 파악합니다. 이를 컴퓨터에서 이해하기 위해서 색과 명암을 나타내기 위한 여러가지 시도가 있었습니다. 대표적으로 여러분도 다 들어보신 RGB가 있습니다. R (Red) [0~255] G (Green) [0~255] B (Blue) [0~255] 빨강 초록 파랑 빛은 0~255의 값을 가지고 이를 적절하게 혼합하여 사용하……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (4) 명암 대비 스트레칭
명암 대비 스트레칭은 기존 히스토그램 평활화와 다르게 명암값의 분포를 최대한 활용하도록 히스토그램을 펼치기 위해 사용됩니다. 기본 명암 대비 스트레칭 new픽셀 = (old픽셀 – 최솟값) * 255 / (최댓값 – 최솟값) 간단하게 기본명암 대비 스트레칭은 각 명암 값을 전체 이미지의 최댓값, 최솟값이 255, 0 이 되도록 쫙 펼친 것을 의미합니다. 미묘한 차이를 발견하셨나요? 히스토그램으로 확인하면 차이가 보입니다. 엔드인 탐색 기본명암대비 스트레칭에서 Low와 High가 자동적으로 정해졌다면 엔드인탐색은 이를 변형할 여지를 주는 방법입니다. low 보다 작은 경우 픽셀은 0값으로 초기화하고, high 보다 큰경우 255로 초기화해줍니……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (3) 히스토그램 평활화
간혹 이미지의 대비가 떨어지는 경우 히스토그램 평활화를 이용하는 방법이 있습니다. 먼저 레나의 기존 히스토그램을 살펴보겠습니다. 레나의 히스토그램은 오른쪽과 같습니다. 가운데쪽으로 히스토그램이 몰려있는데 이를 0부터 255까지 넓게 펴주는 것을 히스토그램 평활화라고 합니다. 히스토그램 평활화의 세부적인 방법은 아래와 같습니다. 1. 히스토그램 생성 (명암값의 빈도수 계산) 2. 빈도수 누적 히스토그램 구하기 3. 정규화 4, 입력 영상으로부터 정규화된 값으로 변경 그래프를 보시면 가운데 모여있던 히스토그램이 넓게 펴짐을 알 수 있습니다. 사진을 보시면 이전보다 고대비가 더 살아난 모습입니다. 명암 대비 스트레칭 (Cont……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (2) 이미지 밝기 조정
오늘은 이미지의 밝기를 조절해보면서 이미지의 특성도 함께 살펴보는 시간을 가져보겠습니다. 먼저 레나를 다운받아주시고 .py 파일을 만들어주세요. 그리고 레나를 파이썬으로 불러와줍니다. 이미지의 밝기를 변화시키기 전에 이미지 자료구조 형태를 살펴보겠습니다. (512, 512, 3) 이라고 출력될텐데, 이는 512 * 512 px 크기의 이미지이고 색상값은 RGB로 3개가 있다는 의미입니다. 밝기를 50 증가시키기 위해서는 (512, 512, 3) 모양의 매트릭스를 만들고 안의 내용을 50 으로 초기화 한 다음에 그냥 원본 이미지에 더해주면 되지 않을까요? 뭔가 파란색 지저분한게 묻어있는 이유는 오버플로우 때문입니다. 픽셀 하나는 0~255 의 값을 가……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (1) 설치
OpenCV란? 컴퓨터비전에서 사용되는 오픈소스입니다. 컴퓨터비전에서 자주 사용되는 대부분의 이미지처리 기법들이 기본으로 탑재되어있습니다. 객체, 얼굴인식, 모션캡처 등 다양한 분야에 활용됩니다. 위 누님은 컴퓨터 비전에서 가장 많이 볼 수 있는 사진인 레나입니다. Hello World! 랑 같은 개념으로 모든 이미지처리는 일단 이 사진을 예제로 활용합니다. 컴퓨터비전을 하신다면 앞으로도 정말 많이 보게되실겁니다. 설치 C++로 OpenCV를 사용하신다면 굉장히 복잡한 설치과정을 거쳐야하지만 Python의 경우 굉장히 간편합니다. 아나콘다 콘솔에서 라이브러리를 설치하세요. 만약 오류 발생 시 콘솔을 관리자 권한으로 실행시켜보세요. 사……. (Publish Date: 2020-02-03)

데이터 시각화에 사용되는 파이썬 라이브러리 정리 (1) – Seaborn
근황 집에만 있으니까 공부할 맛도 안나고 재미도 없네요, 어차피 다음주 월요일 부터 연구실 출퇴근이라 앞으로 잘 못놀텐데 멍석 깔아주면 더 못놀아요. 카페베네에서 논문 마무리하고 집에와서 블로그에 쓸 내용 생각해보다가 파이썬 라이브러리 종류를 익혀두면 두고두고 쓸데가 많을 것 같아서 급하게 작성해서 올립니다. 뭐 1일 1포스팅까지는 기대도 안했지만 공부한답시고 사람들도 안오는 블로그에 매일매일 글 쓰는게 여간 쉬운게 아닌 것 같습니다. 이제 2번째 글인데 벌써… 예전에야 디자인 외주 받는다고 블로그를 열심히 키웠던 적이 있는데. 그건 돈이 되니까 가능했던 거고. 지금은 텐션이 좀 많이 떨어지는 감이 없지않습니다……. (Publish Date: 2020-02-01)

[논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트
Railroad and Obstacle Detection System 실시간 선로 장애물 검출 시스템 (RODS) 첫 논문… 넌 아직 준비가 안됬다 이번에 처음으로 논문을 쓰게되었습니다. 원래는 계획에 없었으나 기존에 산학협력프로젝트 과제의 결과물로서 프로그램 제출, 특허 이외에도 논문 기재를 권유받아 급하게 작성하고 테스트하고 있습니다. 기존 프로젝트는 모형 기차를 이용하여 시연하였으나 논문으로 기재되는 내용은 실제 운행 중인 열차의 영상을 기반으로 했으면 좋을 것 같다는 제 판단에 처음부터 재설계를 하였습니다. 이미 구현해봤던 거니까 간단하겠지 싶었는데, 제 착오였습니다… 실제 데이터를 찾는 것도 힘들었고 시연환경보다 변수나 노이즈도……. (Publish Date: 2020-01-31)


[논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트

Naver Blog tkdzma8080 Recent Posts contents are below.

References: Naver Blog tkdzma8080 Recent Posts contents: Go Click
Origin: Blog ArtRobot (Title: [논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트) More …
Publish Date: (2024-07-01|1:38 pm), Modified Date: (2024-07-03|7:12 am)


— 0503 Blog Post Contents
Vision 세미나 발표자료 – (2) 특징기술
2차원 이미지 상의 특징을 기술하기 위한 여러가지 방법에 대해서 발표한 자료입니다. 출처를 명시하는 조건 내에서 교육용 및 비상업적으로 사용이 가능합니다. (Publish Date: 2020-04-27)

Vision 세미나 발표자료 – (1) 영상변환과 주파수영역
2월 13일에 진행하였던 컴퓨터비전 신입생 세미나 발표자료입니다. 영상변환과 주파수영역에 대해서 다룬 세미나로 FFT, DCT의 내용이 포함되어있습니다. 본 자료는 출처를 밝히고 다른 곳에 사용하셔도 무방합니다. (Publish Date: 2020-02-21)

Python으로 하는 OpenCV 강좌 – (12) 푸리에 변환
저주파와 고주파의 정의 저주파 : 주변 영역과 명암 값의 차이가 나는 부분의 빈도가 낮은 영역 고주파 : 주변 영역과 명암 값의 차이가 나는 부분의 빈도가 높은 영역 제 바탕화면인데요, 하늘 부분은 명암값 변화가 작고, 산 부분은 명암값 변화가 큽니다. 이러한 것으로 저주파와 고주파를 구분지을 수 있습니다. 그런데 왜 하필 명암 변화 빈도를 저주파와 고주파를 나누는 기준으로 설정했을까요? 사실 고주파 == 고에너지 니까 파랗고 밝은 부분을 고주파라고 해도 말이 되지 않을까요? 이러한 물음은 주파수의 정의를 찾아보면 이유를 알 수 있습니다. 주파수의 정의 여러분이 물리 시간에 배우신 주파수 공식입니다. 위 식은 사……. (Publish Date: 2020-02-11)

Python으로 하는 OpenCV 강좌 – (11) 디더링과 오류확산법
디더링은 다운샘플링 기술 중 하나로 주로 아날로그 신호를 디지털 신호로 변환할 때 또는 높은 품질의 디지털 신호를 낮은 품질로 변환할 때 발생하는 오차를 감추는 역할을 합니다. 인간은 소리 듣거나 이미지를 볼 때 만약 디지털 신호로 변환된 아날로그 신호의 경우 이를 디지털 신호로서 느끼는 것이 아니라 원본 아날로그 신호에 노이즈가 끼어있는 것 처럼 느낍니다. 이를 양자화 노이즈라고 합니다. 이러한 양자화 노이즈는 다운 샘플링 시 필연적으로 발생하게 되며, 이를 위하여 고의적으로 노이즈를 끼얹어(노이즈는 노이즈로 잡는다) 양자화 노이즈를 상쇄시키는 것을 디더링이라고 합니다. 모자이크된 영상 볼 때 눈을 흐릿하게 해……. (Publish Date: 2020-02-07)

Python으로 하는 OpenCV 강좌 – (10) 기하학적 처리와 보간법
기하학적 처리란? 기하적 처리란 고등학교 때 기하와 벡터 배우셨죠? 이미지의 속성을 변경시키는 게 아니라 위치를 변형시키는 기법입니다. 쉽게 말하면 늘렸다가 줄였다가 꾸겼다가 기울였다가 하는 일련의 과정들을 말합니다. 기본적인 기하학적 처리로는 스케일(Scale), 회전(Rotation), 이동(Translation)이 있습니다. 수학적 기하와 디지털 기하 처리의 차이점 수학적인 기하적 변형과 컴퓨터에서 하는 기하적 변형의 가장 큰 차이점은 손실의 유무입니다. 컴퓨터에서 모든 데이터는 자료형이 존재하고 이러한 자료형은 데이터를 왜곡 및 손실시킵니다. 아래에서 다룰 여러가지 기하학적 처리의 문제점은 여기에서 출발합니다. 오늘 시간에……. (Publish Date: 2020-02-06)

Python으로 하는 OpenCV 강좌 – (9) 미디안 필터링
미디안 필터는 간단합니다. 커널 내부의 값 중에 중간인 값을 찾아서 대표값으로 설정하면 됩니다. 미디안 필터는 일반적으로 산술평균으로 정하는 것 보다 정확도가 높습니다. 산술평균으로 할 경우에는 엣지 부근에 있는 값들이 소실되어 사실상 블러링이 되기때문에, 미디안 필터를 사용하는 것이 엣지를 보존하면서 노이즈를 제거하는 용도로 더 탁월합니다. 특히 미디안 필터는 광범위함 노이즈보다는 임펄스 잡음에 특화되어 있으며, 커널의 모양은 굳이 정사각형의 블러 형태가 아니라 여러가지 모양으로 적용할 수 있습니다. 먼저 임펄스 잡음이 있는 레나 이미지를 다운받아주세요. impuse.png는 컬러 임펄스이고, impulse2는 흰색으로……. (Publish Date: 2020-02-06)

Python으로 하는 OpenCV 강좌 – (8) 2차 미분 엣지 검출
이전에 배웠던 1차 미분 엣지는 2번에 걸쳐 컨볼루션 필터를 통과하는 걸로 그쳤지만. 2차 미분 연산자의 경우 좀 더 복잡하고, 또 정교합니다. 오늘은 그 중에서도 Compass 기울기 연산자를 다뤄보겠습니다. Compass는 8개 방향에 대해서 엣지를 검출하고 각 엣지별로 최댓값을 취합하는 방식으로 구현됩니다. 1. 8개 방향으로 커널을 만들고 각각 컨볼루션 2. 각 결과값의 최댓값으로된 새로운 엣지 이미지를 도출 Prewitt Compass Edge 우리는 그 중 Prewitt Compass 엣지 추출을 해보겠습니다. Compass 엣지는 이 외에도 여러가지 방법이 있습니다. (Kirsch, Robinson 3 level, Robinson 5 level 등…) Compass 엣지의 특징 및 장단점 8가지……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (7) 1차 미분 엣지 검출
이전에 배웠던 엣지 검출은 (유사 연산자, 차 연산자) 낮은 레벨의 엣지 검출 방식으로, 이미지가 세분화됨에 따라 보다 복잡한 방식의 엣지 검출 방식이 필요해지게 되었습니다. 따라서 이전에 배웠던 Convolution 기법을 이용한 엣지 추출방식을 사용하게 되었으며 본 1차 미분 엣지 검출에서는 이러한 회선 기법을 2번 거치는 엣지 검출법에 대해서 배워보겠습니다. 기본원리 1. x 축 커널에 대해 컨볼루션 진행 : ⓐ 2. y 축 커널에 대해 컨볼루션 진행 : ⓑ 3. 각 결과의 절대값의 합인 |ⓐ| + |ⓑ| 를 계산하면 끝 여러가지 1차 미분 엣지 검출 방법 오늘 다룰 엣지검출 방법은 Prewitt, Sobel, Roberts, Frei-chen 4가지 입니다. 지금까지……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (6) Convolution
컨볼루션 (회선) 은 가장 보편적인 이미지처리 방법 중 하나입니다. 기본 원리는 Kernel 이라는 가중치 필터를 이미지 상에서 천천히 이동시키면서 이미지를 변형하는데, 이 커널의 종류에 따라 블러링이 될 수도 엠보싱이 될 수도, 엣지 추출이 될 수도 있습니다. 최근에는 이러한 컨볼루션 방식이 딥러닝 모델에 적용되면서 그 활용범위가 점점 늘어나고 있습니다. 커널은 이동하면서 해당 위치에 있는 픽셀 값 * 커널의 가중치 를 곱한 다음 이를 모두 합해서 포인트에 채워넣습니다. 엠보싱 먼저 간단한 예시로 엠보싱에 사용되는 위와 같은 (3,3) 커널을 이용하여 컨볼루션 처리를 해보도록 하겠습니다. 엠보싱 처리가 되면서 마치 양각으로……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (5) 엣지 검출
엣지란 이미지에서 한 영역에서 다른 영역으로 색상이나 밝기가 크게 바뀌는 경계를 의미합니다. 엣지의 종류는 반드시 선이 아니라 그라데이션이나 면의 형태를 보이기도 합니다. 엣지 검출에는 여러가지 방법이 있지만 먼저 고전적인 엣지 검출 방법에 대해서 설명해드리고자 합니다. 유사연산자 어떤 포인트와 그 포인트를 둘러싸고 있는 커널 영역이 있을 때 커널 영역의 값과 커널의 중심인 포인트 값의 차를 구한 뒤 그 절댓값이 가장 큰 값을 해당 포인트의 값으로 대체하는 연산자입니다. 그림으로 보시겠습니다. 유사연산자는 한 번에 8회의 연산이 수행됩니다. 구현 코드는 아래와 같습니다. 차연산자 차 연산자는 4회의 연산이 수행되……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (4) 색상 표현
사실 가장 처음에 다뤘어야하는 내용이지만, 아무래도 여러분이 코딩을 한 번 쯤 경험해보는 건 나쁘지 않다고 판단해서 일단 따라하세요 개념으로 시작했었는데 오늘 다룰 이 내용은 철저하게 이론적인 내용입니다. 컴퓨터비전 뿐만 아니라 미술계나 출판 쪽에서도 적용되는 이론입니다. RGB 우리 눈의 시각세포는 색상과 명암을 받아들임으로서 시각정보를 파악합니다. 이를 컴퓨터에서 이해하기 위해서 색과 명암을 나타내기 위한 여러가지 시도가 있었습니다. 대표적으로 여러분도 다 들어보신 RGB가 있습니다. R (Red) [0~255] G (Green) [0~255] B (Blue) [0~255] 빨강 초록 파랑 빛은 0~255의 값을 가지고 이를 적절하게 혼합하여 사용하……. (Publish Date: 2020-02-05)

Python으로 하는 OpenCV 강좌 – (4) 명암 대비 스트레칭
명암 대비 스트레칭은 기존 히스토그램 평활화와 다르게 명암값의 분포를 최대한 활용하도록 히스토그램을 펼치기 위해 사용됩니다. 기본 명암 대비 스트레칭 new픽셀 = (old픽셀 – 최솟값) * 255 / (최댓값 – 최솟값) 간단하게 기본명암 대비 스트레칭은 각 명암 값을 전체 이미지의 최댓값, 최솟값이 255, 0 이 되도록 쫙 펼친 것을 의미합니다. 미묘한 차이를 발견하셨나요? 히스토그램으로 확인하면 차이가 보입니다. 엔드인 탐색 기본명암대비 스트레칭에서 Low와 High가 자동적으로 정해졌다면 엔드인탐색은 이를 변형할 여지를 주는 방법입니다. low 보다 작은 경우 픽셀은 0값으로 초기화하고, high 보다 큰경우 255로 초기화해줍니……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (3) 히스토그램 평활화
간혹 이미지의 대비가 떨어지는 경우 히스토그램 평활화를 이용하는 방법이 있습니다. 먼저 레나의 기존 히스토그램을 살펴보겠습니다. 레나의 히스토그램은 오른쪽과 같습니다. 가운데쪽으로 히스토그램이 몰려있는데 이를 0부터 255까지 넓게 펴주는 것을 히스토그램 평활화라고 합니다. 히스토그램 평활화의 세부적인 방법은 아래와 같습니다. 1. 히스토그램 생성 (명암값의 빈도수 계산) 2. 빈도수 누적 히스토그램 구하기 3. 정규화 4, 입력 영상으로부터 정규화된 값으로 변경 그래프를 보시면 가운데 모여있던 히스토그램이 넓게 펴짐을 알 수 있습니다. 사진을 보시면 이전보다 고대비가 더 살아난 모습입니다. 명암 대비 스트레칭 (Cont……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (2) 이미지 밝기 조정
오늘은 이미지의 밝기를 조절해보면서 이미지의 특성도 함께 살펴보는 시간을 가져보겠습니다. 먼저 레나를 다운받아주시고 .py 파일을 만들어주세요. 그리고 레나를 파이썬으로 불러와줍니다. 이미지의 밝기를 변화시키기 전에 이미지 자료구조 형태를 살펴보겠습니다. (512, 512, 3) 이라고 출력될텐데, 이는 512 * 512 px 크기의 이미지이고 색상값은 RGB로 3개가 있다는 의미입니다. 밝기를 50 증가시키기 위해서는 (512, 512, 3) 모양의 매트릭스를 만들고 안의 내용을 50 으로 초기화 한 다음에 그냥 원본 이미지에 더해주면 되지 않을까요? 뭔가 파란색 지저분한게 묻어있는 이유는 오버플로우 때문입니다. 픽셀 하나는 0~255 의 값을 가……. (Publish Date: 2020-02-04)

Python으로 하는 OpenCV 강좌 – (1) 설치
OpenCV란? 컴퓨터비전에서 사용되는 오픈소스입니다. 컴퓨터비전에서 자주 사용되는 대부분의 이미지처리 기법들이 기본으로 탑재되어있습니다. 객체, 얼굴인식, 모션캡처 등 다양한 분야에 활용됩니다. 위 누님은 컴퓨터 비전에서 가장 많이 볼 수 있는 사진인 레나입니다. Hello World! 랑 같은 개념으로 모든 이미지처리는 일단 이 사진을 예제로 활용합니다. 컴퓨터비전을 하신다면 앞으로도 정말 많이 보게되실겁니다. 설치 C++로 OpenCV를 사용하신다면 굉장히 복잡한 설치과정을 거쳐야하지만 Python의 경우 굉장히 간편합니다. 아나콘다 콘솔에서 라이브러리를 설치하세요. 만약 오류 발생 시 콘솔을 관리자 권한으로 실행시켜보세요. 사……. (Publish Date: 2020-02-03)

데이터 시각화에 사용되는 파이썬 라이브러리 정리 (1) – Seaborn
근황 집에만 있으니까 공부할 맛도 안나고 재미도 없네요, 어차피 다음주 월요일 부터 연구실 출퇴근이라 앞으로 잘 못놀텐데 멍석 깔아주면 더 못놀아요. 카페베네에서 논문 마무리하고 집에와서 블로그에 쓸 내용 생각해보다가 파이썬 라이브러리 종류를 익혀두면 두고두고 쓸데가 많을 것 같아서 급하게 작성해서 올립니다. 뭐 1일 1포스팅까지는 기대도 안했지만 공부한답시고 사람들도 안오는 블로그에 매일매일 글 쓰는게 여간 쉬운게 아닌 것 같습니다. 이제 2번째 글인데 벌써… 예전에야 디자인 외주 받는다고 블로그를 열심히 키웠던 적이 있는데. 그건 돈이 되니까 가능했던 거고. 지금은 텐션이 좀 많이 떨어지는 감이 없지않습니다……. (Publish Date: 2020-02-01)

[논문] 실시간 선로 장애물 검출 시스템 (RODS) – 테스트
Railroad and Obstacle Detection System 실시간 선로 장애물 검출 시스템 (RODS) 첫 논문… 넌 아직 준비가 안됬다 이번에 처음으로 논문을 쓰게되었습니다. 원래는 계획에 없었으나 기존에 산학협력프로젝트 과제의 결과물로서 프로그램 제출, 특허 이외에도 논문 기재를 권유받아 급하게 작성하고 테스트하고 있습니다. 기존 프로젝트는 모형 기차를 이용하여 시연하였으나 논문으로 기재되는 내용은 실제 운행 중인 열차의 영상을 기반으로 했으면 좋을 것 같다는 제 판단에 처음부터 재설계를 하였습니다. 이미 구현해봤던 거니까 간단하겠지 싶었는데, 제 착오였습니다… 실제 데이터를 찾는 것도 힘들었고 시연환경보다 변수나 노이즈도……. (Publish Date: 2020-01-31)

Visited 1 times, 1 visit(s) today
  • if No post, write the comment Please!

Leave a Reply

Your email address will not be published. Required fields are marked *