opencv 자율주행 알고리즘
OpenCV를 사용한 자율 주행에 일반적으로 사용되는 일부 알고리즘 및 기술은 다음과 같다
- 차선 감지: 여기에는 도로의 가장자리를 감지하고 차선을 식별
- 객체 감지: 여기에는 다른 차량, 보행자 및 교통 표지판과 같은 차량 환경의 객체 감지 및 식별
- 이미지 처리
차선감지 알고리즘
자율 주행 알고리즘에서 OpenCV를 사용하여 차선을 감지하는 순서는 일반적으로 다음 단계로 구분된다
- 이미지 획득: 알고리즘은 차량의 카메라에서 전방 도로의 이미지를 캡처
- 이미지 전처리: 이미지를 전처리하여 노이즈를 제거하고 밝기를 조정하며 가장자리를 향상시키며, 이 단계에는 가우시안 블러링(Gaussian blurring), 임계값(thresholding) 및 에지 감지(edge detection)와 같은 기술이 활용됨
- 차선 감지: 알고리즘은 Hough 라인 변환, 확률적 Hough 라인 변환 또는 RANSAC과 같은 기술을 사용하여 도로의 가장자리를 감지하고 차선을 식별한다.
- 차선 곡률 계산: 알고리즘은 감지된 차선의 곡률을 계산한다.
- 차선 추적: 알고리즘은 시간이 지남에 따라 감지된 차선을 추적하여 차량이 차선 내에 있도록 한다.
- 차선 예측: 알고리즘은 이전 감지를 기반으로 차선의 미래 위치를 예측한다
- 차선 안내: 알고리즘은 감지되고 예측된 차선 위치를 기반으로 스티어링, 스로틀 및 제동 시스템에 제어 명령을 한다.
1. 이미지 획득
esp32 camera의 스트리밍 영상을 이미지로 획득한다.
ESP32-cam 소스 구현
esp32 camera 예제를 기반으로 필요없는 부분을 제외하여 소스를 구현하였다.
Xcode에 c++ 환경설정
https://program-s.tistory.com/40
맥OS Xcode OpenCV 설정[C++]
HomeBrew 설치 https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 터미널 실행 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 입력 하면 HomeBrew가 설치된
program-s.tistory.com
ESP32 Cam에서 스트리밍 되는 영상을 불러오는 소스 구현
https://program-s.tistory.com/43
OPENCV C++ 스트리밍 영상 출력하기
esp32 cam 영상 출력 소스는 아래를 참고하자. 최종 소스 - ESP32 CAM의 영상을 출력 #include #include using namespace cv; using namespace std; int main(int argc, char* argv[]) { string url = "http://192.168.0.104"; // Open the default c
program-s.tistory.com
원격으로 ESP32를 제어하기 위한 C++ 소스 구현
cURL을 이용하여 구현하였고 esp32에서 데이터 수신을 확인함
https://program-s.tistory.com/44?category=1072720
xcode c++ cURL 사용법
cURL C, C++, Python 및 PHP와 같은 다양한 프로그래밍 언어로 HTTP 요청을 할 수 있도록 하는 라이브러리이다. HTTP, HTTPS, FTP 및 LDAP와 같은 다양한 프로토콜을 지원하며 개발자가 JSON, XML 및 CSV를 비롯한
program-s.tistory.com
'프로젝트 > 자율주행자동차' 카테고리의 다른 글
자율주행자동차 기초 (0) | 2021.06.09 |
---|