[Project] opencv을 이용한 자율주행 자동차
1. 작업 환경 - 개발 환경 : Ubuntu 14.04.5 LTS 64bit, Raspbian-jessie, Mac os x - Language : C,C++- 사용 Tools : gcc, g++, vi editor, ATmel studio7.0- 사용 기술 : Opencv2.4.13, wiringPi- 사용 장비 : Raspberry3, atmega128 2. 흐름도 1. PC에서 Opencv를 이용한 차선, 정지선 인식 - HoughLinesP 함수와 기울기를 이용한 알고리즘을 통해 직선 및 커브 검출 2. 라즈베리파이에서 Opencv를 이용한 표지판, 신호등 인식 - 전처리 과정을 거친 후 원검출과 색검출을 이용하였고 Template matching을 사용하여 속도를 인식 3. Atmega128에..
더보기
[알고리즘] 삽입정렬(Insertion Sort)
작업 환경- OS : Ubuntu 14.04.5 LTS 삽입정렬이란?- 정렬 대상을 두 부분으로 나눠서 정렬 안 된 부분에 있는 데이터를 정렬 된 부분의 특정 위치에 삽입해 가면서 정렬하는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 삽입정렬을 이용하여 오름차순으로 정렬하시오. insert_sort.c#include void InsertSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); InsertSort(arr , cnt); for(i=0 ; i data)arr[j+1] = arr[j];elsebreak;} arr[j+1]..
더보기
[알고리즘] 선택정렬(Selection Sort)
작업 환경- OS : Ubuntu 14.04.5 LTS 선택정렬이란?- 정렬순서에 맞게 하나씩 선택해서 옮기며, 옮기면서 정렬되는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 선택정렬을 이용하여 오름차순으로 정렬하시오. select_sort.c#include void SelectSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); SelectSort(arr , cnt); for(i=0 ; i
더보기
[알고리즘] 버블정렬(Bubble Sort)
작업 환경- OS : Ubuntu 14.04.5 LTS 버블정렬이란?- 인접한 두 개의 데이터를 비교해가면서 정렬하는 알고리즘그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 버블정렬을 이용하여 오름차순으로 정렬하시오. bubble_sort.c#include void BubbleSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); BubbleSort(arr , cnt); for(i=0 ; i
더보기
[알고리즘] 간접정렬(Indirect Sort)
작업 환경- OS : Ubuntu 14.04.5 LTS 간접정렬이란?- 인덱스 기법이라고도 하며 레코드 배열에서 데이터를 정렬하는 것이 아니라 인덱스 배열을 따로 만들어 정렬하는 기법- 교환횟수가 많은 삽입정렬의 단점을 보완했으며, 간단한 정수를 정렬할 때 주로 사용 문제배열에 10,2,9,1,4,8,6,7,5,3 값 10개를 넣은뒤 간접정렬을 사용하여 출력하시오. indirect_sort.c#include int main(){int i, j, cnt;char buf[10] = { 10, 2, 9, 1, 4, 8, 6, 7, 5, 3 };char index[10]; for (i = 0; i
더보기