자율주행을 위한 OpenCV 기능분석
·
카테고리 없음
지난 이야기지난 과정에서는 L298N 모터 드라이버와 DC 모터 4개를 구동하는 하드웨어를 구축하였습니다.프로젝트 개요이번 과정은 OpenCV의 기능을 확인하고 다양한 프로젝트에서 어떠한 차선인식 방법이 사용되는지,어떠한 방법으로 자율주행을 구현하는 것이 적합한지에 관해 알아보겠습니다.학부생수준에서 정리하는 것이기 때문에.. 원리를 깊게 알아본다기보다 이러한 기능이 있구나~ 정도로 정리하겠습니다.주요 기능HSV 색상/채도/명도 방식 변환Grayscale Conversion 흑백 이미지 변환Canny Edge Detection 경계선 검출Region of Interest 관심영역 지정Hough Transformation 직선검출Gaussian Blur 노이즈제거 각 주요기능에 대해 하나씩 알아보도록 하겠..
Port Forwarding on Raspberry Pi
·
Raspberry Pi(라즈베리파이)
환경확인우선 사용하고 있는 하드웨어(HW)는 Rasberry Pi 5,공유기는 KT 공유기를 기준으로 작성하겠습니다.현재 SSH 접속은 내부망, 즉 같은 wifi가 연결되어 있을 때만 사용할 수 있게 되어있습니다.이걸 외부에서 접속하거나, 웹사이트를 외부에서도 확인할 수 있게 하기 위해 포트포워딩 과정을 진행하려고 합니다.포트포워딩외부망에서 라즈베리파이로 접속하기 위한 과정은 외부망-공유기(내부망)-라즈베리파이의 단계로 연결됩니다.외부에서 라즈베리파이로 접근하기 위해  외부 IP를 알아야 합니다. 외부 IP를 확인하는 방법으로는 GUI 환경의 경우 네이버나 구글에 "내 IP" 등으로 검색하면 외부에서 보이는 내 IP, 외부 IP를 확인할 수 있고 CLI 환경에서는 아래 코드를 작성하여 IP를 확인할 수 ..
Raspberry Pi 5 OS Configuration Selection
·
Raspberry Pi(라즈베리파이)/Raspberry Pi 5
개인용 웹서버, TTS, Slack 보고기능등을 24시간 가동하기 위해 라즈베리파이 5와 Argon NEO 5 케이스, M.2 NVME PCIE 256GB를 구매하여 장착하였습니다.OS의 종류로는 Raspbian( Raspberry Pi OS ) 64-bit와 Ubuntu 24.04 LTS 두 가지를 고려하였습니다.고려한 이유는 Raspberry Pi OS 의 경우 하드웨어 제조사에서 만든 OS라서 최적화가 가장 잘되어있는 강점이 있었고,나중에 진행할 프로젝트에서 ROS, ROS2도 Docker로 설정이 가능하다고 확인해서 좋을 것 같다고 생각했습니다.우분투의 경우 최신버전이고, 유명하기도 하고.. GPT에 물어보았을 때는 이러한 답변을 받았었습니다.항목Ubuntu (Server/Desktop)Raspb..
BAEKJOON 20124 Python (B2)
·
Algorithm(알고리즘)/Baekjoon(백준)
문제 풀이먼저 N값을 입력받아 학생의 수를 확인한다.이후 각 학생의 이름과 점수를 입력받고 (이름, 점수)로 하여 튜플구조로 List에 저장한다.여기서 튜플구조란 순서가 있는 자료형이다. (이름, 점수)처럼 순서를 지정해서 저장하는 것이다.정렬하는 방식에서 Lambda x: (-x[1], x[0])방식을 사용하였는데 -x[1] 두 번째 값인 점수를 기준으로 내림차순 정렬을 진행하고, 이후 점수가 같은 구역에서 x[0], 즉 이름에 대한값을 오름차순으로 정렬하는 것이다.이후 리스트에서 첫 번째 값을 출력한다. 코드# 입력 개수 받기n = int(input())# 이름:점수 형식으로 리스트에 저장name_score_list = []for _ in range(n): name, score = input()..
BEAKJOON 4949 Python (S4)
·
Algorithm(알고리즘)/Baekjoon(백준)
균형잡힌 세상문제설명각 줄의 괄호들이 균형을 이루고 있는지 검사하는 문제소스코드while True: string = input().rstrip() if string == ".": break stack = [] balanced = True for char in string: if char in "([": stack.append(char) elif char == ")": if not stack or stack[-1] != "(": balanced = False break stack.pop() elif char =..
BAEKJOON 1436 Python
·
Algorithm(알고리즘)/Baekjoon(백준)
영화감독 숌문제설명입력 값에 따라 종말의 수인 666이 들어간  N번째로 작은 수를 구하는 문제소스코드N = int(input())count = 0result = 666while count != N: if "666" in str(result): count += 1 result += 1 print(result-1)Python 풀이먼저 우선적으로 생각한 부분은 어떻게하면 N번째로 작은 666이 들어간 수를 구할까 였습니다.그래서 666부터 시작해 +1을 반복하며 이를 카운트하여 N번째로 작은 수까지 도달하도록 하기로 생각했습니다.따라서 변수 N을 선언하고 입력값을 정수형으로 입력받은 뒤목표인 N까지 도달하기위해 현재의 위치를 저장해 둘 카운트 변수를 선언하고가장 가까운 값부터 시..