반응형 전체 글288 [Capstone Design]4. 시리얼 통신(Serial Communication) - 1 이번 시간에는 시리얼 통신과 파이썬에서 시리얼 통신을 하는 방법에 대해서 알아보겠습니다. 시리얼 통신(Serial Communication)이란 정기적인, 일련의, 연속된 같은 뜻을 가지고 있는 serial과 통신, 대화, 소통 등의 뜻을 갖는 communication의 합성어입니다. 한글로는 직렬 통신이라고 부릅니다만 근래에 들어서는 다들 시리얼 통신이라고 부르는 게 더 익숙한 듯합니다. 이런 시리얼 통신은 통신 방법 중에 하나이고 직렬이 있으니 병렬 통신(Parallel Communication)도 존재합니다. 시리얼 통신의 특징은 데이터를 주고 받을 때 직렬로 즉, 한 선만을 이용해서 통신을 한다는 점입니다. 예를 들어서 Serial 이라는 데이터를 보낼 때 S 보내고, e 보내고, r 보내고..... 2022. 4. 17. [CSS]왓에버 스킨 상단 메뉴바 노출 위치 고정(sticky position) 제목이 상당히 뜬구름잡는 느낌인데 이게 정확히 어떻게 표현을 해야할지 모르겠더라구요. 다크 모드를 사용하기 위해서 스킨을 변경했는데 그거 말고는 온갖 불편함으로 가득찬 왓에버를 좀 입맛대로 바꿔봅시다. 왓에버는 카테고리를 아예 보여주지 않는다는 치명적인 단점이 있습니다. 그나마 다행인건 글을 맨 밑으로 내리면 같은 카테고리에 있는 글을 묶어놓은 블럭이 있다는게 카테고리로 접근하는 유일한 방법인데요. 블로그를 오래 운영하셨거나 여러 주제로 카테고리를 분화해서 사용하시는 분들한테는 압도적으로 불편한 스킨입니다. 그걸 해소해주는게 원더바웃님의 왓에버 카테고리 메뉴 넣기 입니다. https://wonderbout.tistory.com/39 해당 방법을 따라하시면 중앙정렬의 경우 상단에 카테고리메뉴가 생기고 좌측.. 2022. 4. 16. [CSS]티스토리 CSS 위치 찾기 및 편집 어제 문득 블로그를 다크모드로 쓰고 싶은 생각이 들어서 별 생각없이 스킨 변경을 진행했었는데요. 안내메시지가 나왔음에도 그냥 생각없이 넘겨 버렸더니 모조리 초기화 되어버리는 사달이 났습니다. 그래서 어제 코드블럭이며 뭐며 하나하나 건드리다가 또 늦게 잠이 들었는데요. 예전에 했던 것들이 많다 보니까 기억이 잘 안나서 찾아보느라고 시간을 엄청 썼습니다. 그래서 이제 부터는 뭐 하나를 해도 기록을 좀 남겨놓기로 했어요. 이번 포스팅에서 말씀드리고 싶은 건 티스토리를 꾸미면서 CSS 편집을 해야할 때 어떤 위치에 내가 바꾸고자 하는게 있는지 찾는 방법입니다. 다크 모드를 쓰기 위해서 왓에버로 스킨 테마를 변경했는데 북클럽일 때는 안보이던 것들이 좀 눈에 띄어서 해당 부분을 변경해보겠습니다. 1. 개발자 도구 .. 2022. 4. 16. [Capstone Design]3. 차선 인식(Lane Detection) - 7 아마도 이번 포스팅이 차선 인식의 마지막 포스팅이 되지 않을까 싶은데요. 지난 시간에 왼쪽&오른쪽 대표선을 검출해내는 것까지 진행을 했습니다. 차선 인식이 주제였으니까 이제 끝이라고 보면 될까요? 지난번에도 말씀을 드렸었지만 목적과 수단을 혼동해서는 안된다고 했었죠. 저희가 차선 인식 알고리즘을 구현했던 목적이 뭘까요? 차량이 주행을 함에 있어서 차선 안에서 움직이도록 하는 것이 목적이었죠. 차선 인식은 그를 위한 수단이었고요. 그렇다면 차선 인식만 해가지고 차량을 계속 차선 안에서 움직이도록 하는 것이 가능할까요? 아니죠. 그냥 선 두 개 화면에 띄운다고 갑자기 차가 자기가 알아서 움직일 리가 없죠. 그래서 우리는 차량이 차선 안에서 움직일 수 있도록 하는 파라미터를 만들어줘야겠죠. 사실 이제부터는 본.. 2022. 4. 16. [Capstone Design]3. 차선 인식(Lane Detection) - 6 지난 포스팅까지 해서 이제 얼추 차선으로 써먹을만한 친구들만 뽑아내는 과정까지 진행했습니다. 혹시 코드를 직접 실행시켜보신 분이라면 최소 길이 트랙바를 조절하다 보면 차선 후보가 선 하나만 나오는 게 아니라 여러 개가 겹쳐있다는 사실을 눈치채셨을 것 같은데요. 이번 포스팅은 그렇게 겹쳐있는 선들을 하나로 만들고 중심 기준으로 왼쪽 차선과 오른쪽 차선을 분리해보는 시간을 가지겠습니다. 먼저 왼쪽 차선과 오른쪽 차선을 나누는 것 부터 먼저 해보겠습니다. 미리 나눠놓고 나중에 각각의 대표선을 계산하는 게 훨씬 효율적일 것 같거든요. 사실 왼쪽선 오른쪽 선을 나누는 것은 그렇게 어려운 일이 아닙니다. 잠깐 그림을 한 번 볼까요. 그림의 퀄리티는 신경쓰지 마시기 바랍니다. 왼선을 붉은색, 오른선을 푸른색으로 구분.. 2022. 4. 15. [Capstone Design]3. 차선 인식(Lane Detection) - 5 지난 시간에는 직선으로 인식하는 최소 길이를 트랙바를 이용해서 조절하는 것까지 진행을 했었죠. 하지만 그렇게 하더라도 원하지 않는 친구들이 좀 남아있었던 것을 보셨을 겁니다. 그렇다면 우리는 이제 뭘 더 진행해야 불필요한 친구들을 걸러낼 수 있을까요? 이번 시간에는 각도를 이용해서 필터링을 진행해볼까 합니다. 눈치 빠르신 분들은 각도 얘기를 듣자마자 방법을 떠올리셨을지도 모르겠네요. 각도 얘기를 하기에 앞서서 잠깐 소실점(Vanishing Point)에 대해서 얘기를 먼저 해보겠습니다. 미술이나 사진 등의 분야에서 자주 나오는 얘기인 소실점은 원근법과 상당히 밀접한 관련이 있는데요. 우리가 저 멀리 있는 무언가를 보거나 혹은 촬영을 하면 실제로는 평행한 선들이 어떤 점으로 모여드는 것처럼 보이게 됩니다... 2022. 4. 14. [Capstone Design]3. 차선 인식(Lane Detection) - 4 지난 시간에 허프 변환까지 진행했었죠? 오늘은 이제 이 직선을 가지고 무엇을 할지에 대해서 얘기를 드려보겠습니다. 그전에 잠깐, 우리는 왜 차선 인식을 진행하고 있나요? 가끔 수단에 집중하다 보면 목적을 잊어버리는 일이 생기기 때문에 항상 이렇게 목적이 무엇이었는지 떠올리는 습관을 가지면 좋습니다. 저 스스로에게 하는 얘기이기도 하고요. 차선 인식을 해야 하는 이유는 여기서 검출한 차선을 이용해 차량의 자율주행을 구현하기 위함이었죠. 그러기 위해서 차선만 검출하는 노력을 해왔던 거고요. 하지만 지금은 이렇게 깔끔하게 차선만 인식이 되어서 별 문제가 없는 것 같지만 여기에는 함정이 숨어 있습니다. 예시를 들어드리기 위해 다른 이미지를 가져와 봤습니다. 해당 사진에 이전 포스팅에서 사용했던 코드를 그대로 적.. 2022. 4. 13. [BOJ][Python]1107번 풀이 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net n = int(input()) result = abs(100 - n) m = int(input()) if m == 0: b = [] else: b = input().split() for i in range(1000001): for j in str(i): if j in b: break else: result = min(result, len(str(i)) + abs(i - n)) pr.. 2022. 3. 1. [Capstone Design]3. 차선 인식(Lane Detection) - 3 이번에는 지난 포스팅에 이어서 관심영역 설정까지 완료된 이미지에서 직선의 검출을 해보도록 하겠습니다. 사실상 차선 인식에서 가장 중요한 단계라고도 할 수 있겠네요. 이전까지도 물론 중요했지만 이번 작업을 위한 전처리라고 생각해주시면 좋을 것 같습니다. 자 지난 포스팅에서 여기까지 했었죠? 깔끔하게 차선의 엣지가 잘 잡혔습니다. 이번에는 이 엣지들을 이용해서 직선의 검출을 해볼겁니다. 엥? 이미 직선이 잘 나와있는데요? 사람은 이 사진을 보면 당연히 저걸 보고 직선이라고 생각할지도 모르겠습니다. 하지만 컴퓨터가 봤을 때는 단지 하얀 부분은 255, 검은 부분은 0 의 배열로 보일 뿐이에요. 우리는 이 배열을 이용해서 직선을, 궁극적으로는 써먹을 수 있는 직선의 방정식을 얻을겁니다. 허프 변환(Hough T.. 2022. 2. 24. [BOJ][Python]1074번 풀이 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net import sys ssr = sys.stdin.readline def sol(n,r,c): global result if n==0: return if r 2022. 2. 24. 이전 1 ··· 20 21 22 23 24 25 26 ··· 29 다음 반응형