일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이토치 강의 정리
- 딥러닝
- pytorch zero to all
- matlab 영상처리
- c언어
- 김성훈 교수님 PyTorch
- c언어 정리
- 컴퓨터 비전
- 케라스 정리
- TensorFlow
- c++
- tensorflow 예제
- 파이토치 김성훈 교수님 강의 정리
- 미디언 필터링
- 딥러닝 스터디
- 모두의 딥러닝 예제
- c++공부
- 영상처리
- MFC 프로그래밍
- Pytorch Lecture
- 가우시안 필터링
- pytorch
- 딥러닝 공부
- 파이토치
- 모두의 딥러닝
- C언어 공부
- 골빈해커
- object detection
- 해리스 코너 검출
- 팀프로젝트
- Today
- Total
목록Image Processing (55)
ComputerVision Jack
MFC 콘솔(Console) 응용프로그램 MFC 콘솔 응용프로그램 장점 1. 일반 GUI 응용프로그램과 달리 메시지 구동 방식으로 프로그래밍 하지 않아도 된다. C나 C++ 언어에 대한 지식만 있으면 실습할 수 있다. 2. 상당수의 MFC 클래스를 사용할 수 있다. 유틸리티 클래스와 집합 클래스가 포함된다. 3. 알고리즘 개발 시 유용하게 사용할 수 있다. 알고리즘 개발시 화려한 GUI 보단 기능 구현을 중시하기 때문에 프로그램이 간편한 콘솔 응용프로그램을 많이 사용. Visual 2019 버전으로 파일을 생성하고 else 부분에 단순 코딩으로 인해 콘솔 프로그램이 실행된다. 위 코드의 실행 결과는 단순 콘솔창에 string을 보여주는 용도이다. 유틸리티 클래스(Utility Class) = 윈도우 응용..
1. SDK 프로그램을 실행 했을 때, 타이틀 바 내 종료 버튼이 비활성화 되도록 수정하시오. WNDCLASS에 대해서 style 속성 값을 CS_NOCLOSE로 설정하면 된다. WNDCLASS wndclass; wndclass.style = CS_NOCLOSE; CS_VREDRAW : 세로의 크기가 변경되면 윈도우를 다시 그린다. CS_HREDRAW : 가로의 크기가 변경되면 윈도우를 다시 그린다. CS_DBLCLKS : 윈도우 내부 더블 클릭 메세지를 윈도우 프로시저로 보낸다. CS_OWNDC : 클래스 내부의 각 윈도우에 고유의 DC가 할당 된다. CS_CLASSDE : 클래스 내부의 각 윈도우는 하나의 DC를 공유하게 된다. CS_PARENTDC : 부모 윈도우에 사각형을 만들어 자식이 부모 윈도..
윈도우 프로그래밍 = 윈도우 운영체제(Window Operating System)에서 구동되는 응용프로그램을 만드는 것 윈도우 운영체제 특징 1. 그래픽 사용자 인터페이스 그래픽 사용자 인터페이스(GUI : Graphical User Interface)는 도스 같은 텍스트 기반 운영체제와 구분되는 외형적인 특징이다. 2. 메시지 구조 윈도우 운영체제에서 실행되는 대부분의 응용프로그램은 메시지 구동 구조를 기반으로 동작한다. 3. 멀티 태스킹과 멀티 스레딩 멀티 태스킹은 사용자에게 서로 다른 프로그램이 동시에 실행되는 것 처럼 보인다. 윈도우 운영체제에서 한 응용프로그램 내에서도 동시에 진행되는 여러 개의 실행 흐름을 만들 수 있는데 이를 멀티 스레딩이라한다. 윈도우 응용프로그램의 특징 1. API 호출문..
Template Matching 템플릿은 영상의 한 조각 정보를 뜻합니다. 템플릿이 주어 졌을 때, 이 템플릿이 영상에 어디 부분에 있는지를 유사도와 비 유사도를 고려하여 계산한 후, 해당 영역에 bounding box 처리를 하는 작업이 템플릿 매칭입니다. 우선 왼쪽 그림을 보시면 여러가지 코인이 화면에 등장합니다. 이 동전 영상에서 오른쪽의 동전 템플릿을 이용해 이 템플릿 이미지가 어디에 위치해 있는지 찾는 방법입니다. correlation (유사도)를 통해 영상에서 템플릿이 적합한 위치를 계산합니다. 해당 템플릿 매칭 코드를 실행하면 유사도를 분석하고 관련 유사도에 근거하여 원본이미지에서 template을 boundingbox처리하여 표기합니다.
Harris Corner Detection 해리스 코너 검출 방법은 영상에서 모서리 부분으로 인식되는 부분을 추출하는 알고리즘입니다. 또한 이렇게 추출된 코너는 영상에서 특징점으로 사용되기도 합니다. 영상마다 고유한 값을 갖고 있기 때문입니다. 우선 Harris Corner Detection에 사용될 이미지 입니다. 우선 해리스 코너 검출에 관련된 수식을 바탕으로 코딩을 해줍니다. 그다음 국지적 최대값을 토대로 코너로 인식된 부분을 corner 배열에 넣어줍니다. 결과를 출력하면 해당 영상에 대해 corner 특징점이 추출되는 것을 확인할 수 있습니다.
Color Segmentation Color Segmentation의 경우 영상 픽셀의 컬러 값을 다양한 컬러로 분할 하는 것을 뜻합니다. 어떤 색의 픽셀이 주로 사용되었고, 해당 픽셀의 분포를 확인할 수 있습니다. 또한, 다양한 Color domain으로 바꿔 확인할 수 있습니다. 저는 이번에 lena영상을 읽어와 RGB 컬러 도메인을 L*a*b 컬러 도메인으로 변환한 후, Color Segmentation을 진행했습니다. 우선 영상을 읽어오고, 몇개의 지역으로 분할 할지 간단하게 설정한 후, rgb2lab ( ) 함수를 이용해 도메인을 변경합니다. 그 다음 최근접 이웃 규칙을 적용하여 픽셀을 컬러 값으로 분류하고 분류된 결과를 출력해봅니다. 해당 픽셀 값에 대해 *a *b 값을 그래프로 출력해서 확인..
Region Labeling 오늘은 Region Labeling에 대해 정리하려고 합니다. 라벨링은 인접 픽셀간의 연관 관계를 파악해서 그룹화 하는 작업이라고 생각하시면 됩니다. 이에 대해 오늘 예제로 사용할 자료를 설명하면서 작성하겠습니다. 생성된 image 안의 배열을 보시면 0과 1로 배경과 object를 나눴다고 생각할 수 있습니다. 하지만 1인 object도 연결 관계에 따라 그룹을 나눌 수 있습니다. 즉 1 부분을 따로 보시면 연결관계에 따라 총 3개의 그룹으로 나눠질 수 있습니다. 이런식으로 말이죠. 이제 코드를 통해서 1을 3개의 그룹으로 라벨링을 진행하겠습니다. 우선 픽셀에 대해서 이웃관계에 따라 라벨링을 부여합니다. 우리는 픽셀의 + 방향으로 라벨리을 부여할 것입니다. 그럼 기존 0 1..
Edge Filter 영상에서 Edge는 외각 선이라고 생각하시면 편합니다. 이러한 Edge를 좀더 강조하기 위해 우리는 Edge에 다양한 필터링을 적용하게 됩니다. 오늘은 이러한 Edge 필터를 3가지 소개하려고 합니다. 기본적으로 3 x 3 마스크를 적용했습니다. Prewitt Edge Filter 수평 수직 Edge를 잘 검출하는 Edge 필터 입니다. Sobel Edge Filter 모든 방향의 Edge를 검출하기에 적합합니다. 하지만 Sobel은 대각선 엣지를 잘 검출합니다. Roberts Edge Filter 로버츠 마스크는 수행 속도가 빠른 장점이 있습니다. 또한 잡음에 민감하고 엣지의 강도가 약한 편이 있습니다. 각 필터의 장점과 원리는 각 필터 연산을 진행한 마스크를 살펴보면 알수 있습니..