일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS
- 딥러닝
- 중학수학
- JSP/Servlet
- 데이터분석
- 오블완
- 정보처리기사필기
- 컴퓨터비전
- 순환신경망
- 디버깅
- html/css
- 정보처리기사실기
- JSP
- 중학1-1
- rnn
- 상속
- 자바스크립트
- 파이썬
- 머신러닝
- JDBC
- 컴퓨터구조
- 연습문제
- c언어
- 혼공머신
- 개발일기
- 자바 실습
- 자바
- 자바스크립트심화
- 데이터베이스
- SQL
- Today
- Total
목록2024/11/08 (14)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이진 영상에 대해서 학습해 보려고 한다. 어제 낮잠을 정말 많이 자서 오늘은 철야를 하며 공부를 하기로 했다. 때로는 컬러 영상이나 명암 영상을 이진 영상으로 변환할 필요가 있다. 이진 영상은 화소가 0 또는 1인 영상이다. 따라서 화소당 1 비트면 정장할 수 있는데, 현재 컴퓨트를 메모리 용량이 크기 때문에 화소당 1바이트를 사용하여 메모리 효율보다 프로그래밍 편려성을 우선하는 경우가 많다. 컴퓨터비전에서는 에지를 검출한 후 에지만 1로 표현하거나 물체를 검출한 후 물체는 1, 배경을 0으로 표시하는 등의 일에 이진 영상을 활용한다. 이진화명암 영상을 이진화하려면 임계값 T보다 큰 화소는 1, 그렇지 않은 화소는 0으로 바뀌게 된다. 너무 낮게 또는 높게 설정하면 대부분 화소가 물체 또는 배경에 ..
컴퓨터 비전 수업은 총 5일 동안 진행되었는데 수업의 질이 많이 떨어지고 수업 영상도 제대로 출력되지 않아 절반 이상은 영상이 없었다. 그냥 첫날 수업 하나만 듣고 정리하는데서 만족하고 이제 나머지는 책을 통해 더욱 깊이있는 학습을 진행하기로 했다.오히려 책에서 더 많은 것들을 배울 수 있었다. 3장 영상 처리 공부를 시작해보겠다. 시작하기 전에자율주행차가 아래 왼쪽 그림과 같이 안개 낀 도로에 들어서면 행인이나 표지판을 인식하는 기능이 떨어질 수 있다. 이때 히스토그램 평활화라는 영상 처리 연산을 적용하면 오른쪽 그림의 개선된 영상을 얻는다. 개선된 영상에서 물체를 인식하면 기능을 회복할 수 있다. 영상 처리는 특정 목적을 달성하기 위해 원래 영상을 개선된 영상으로 변환하는 작업이다. 영상 처리는 화..
이어서 동영상을 실습하는 예제를 진행해 보겠다. 오늘은 낮잠을 많이 잔 관계로 밤늦게까지 공부를 이어갈 생각이다. 설치는 잘 되었는데 코드에 빨간줄이 떠서 제대로 된 코드인지 의심이 가기도 했다. 하지만 코드를 수행하면 이러한 오류가 뜬다. 코드 수정해보기 Jupyter Notebook 환경에서는 %pip install을 사용하는 것이 더 안정적이라고 한다. !로 하면 설치가 잘 되지 않을 수 있으니 %로 바꾸어서 다시 설치를 해주었다. 설치 후 제대로 설치되었는지 확인하는 코드를 하나 추가해 주었다. 이 코드는 youtube-dl을 최신 버전으로 설치하거나 다시 설치하기 위해 사용하는 명령어이다. 여기서는 git을 통해 youtube-dl의 최신 소스를 직접 가져와 설치..
이번에는 동영상을 읽고 출력하는 학습을 진행해보겠다. 이렇게 비디오 객체는 아스키 코드로 변환된다. 이제 실습을 진행해보겠다. 이 코드는 저장된 비디오 동영상을 읽고 출력한다. puppy.mp4 파일을 프레임 단위로 읽고, 25밀리초 간격으로 화면에 표시한다. q 키를 누르거나 비디오의 끝에 도달하면 프로그램이 종료되는데, 몇 초가 지나면 비디오 창이 꺼지도록 설정했다. 이러한 강아지 동영상이 출력된다. 너무 짧은 시간 재생이 되니 불편함이 있다면 WaitKey()값을 늘려줄 수도 있다. 처음에 코드를 실행할 때는 단순히 동영상을 길게 표시되는 줄 알았는데, 자세히 보니 동영상이 느리게 재생되기 때문에 늦게 꺼지는 거였다.이번에는 q를 누르면 동영상이 꺼지는 실습을 진행해..
이어서 이미지 실습을 진행해 볼 것이다. Gray와 Color 이미지에 대하여 Gray 색상 정보는 이처럼 단채널로 되어 있다. 이러한 컬러맵은 매플롯립 시각화할 때 많이 사용한다. 이제 간단한 실습을 한번 진행해 보겠다. 컬러 맵 실습해 보기 왜 이 코드가 실행이 안되는지 한참 고민했는데 인덱스 배열이 잘못되었던 거였다. np.array()는 리스트나 튜플을 인수로 받아들여야 하는데, 현재 코드는 리스트를 중첩하지 않았기 때문에 오류가 발생했다. 이 부분을 수정해서 다시 코드를 짜보자. 맷플로립은 이미지 컬러맵으로 접근하기 때문에 노란색과 보라로만 표현된다. 앞의 컬러맵을 살펴보면 가장 왼쪽에 있는 값이 보라색이고 오른쪽이 노란색이다. 하지만 이 컬러맵을 바꿀 수도 있다. 여..
오후에 공부를 하나도 하지 않고 계속 쉬었다. 컨디션이 좋지 않은 날은 쉬는 것도 좋은 방법인 것 같았다. 그리고 이제 다시 힘을 얻어 저녁 공부를 하며 하루를 마무리하려고 한다. 이번에는 컴퓨터 비전 수업을 들으며 해당 내용을 실습하며 정리해 볼 것이다. 이미지 읽고 출력하는 실습해보기비주얼 코드를 열고 라이브러리를 임포트 해주었다. 난 파이썬 코드를 낮은 것을 설치했고 cv2도 선생님에 비해 훨씬 낮은 버전이다. 컴퓨터 비전은 이미지로부터 시작한다. 이 여성은 컴퓨터 비전에서 가장 유명한 레나라는 여성이다. 이 코드를 실행하면 레나 여성 이미지가 나타나는데 창을 끄면 실행 화면이 꺼진다. imshow()라는 함수는 새로운 인터페이스에 그림을 그리는 형식이다. 주피터 노트북은 셀을 ..
오늘도 영어 공부를 하는 게 정말 쉽지 않고 건너뛰고 싶은 날이었지만 그래도 억지라도 1시간은 해보았다. 기사 2개를 읽으며 지난 5일 동안의 공부를 마무리해 본다. 지난주에는 화요일부터 영어공부를 시작해서 6일 동안 하루만 빼고 5일 공부를 열심히 했다.이번주에는 월요일에서 금요일까지 매일 하루 1시간 이상씩 공부를 진행했다. 반절은 할만 했고, 반절은 하기 싫은 마음이 더 컸다. 아직은 영어에 그다지 큰 흥미는 붙이지 못했지만 얼마 지나지 않아 분명 재미있어지는 때가 올 것 같다. FOCUS - The Benefits of Traveling 여행의 이점에 대해서 설명하는 기사였다. 오늘도 해석은 하기 귀찮아서 기사에 대한 간단한 느낌을 기록하려고 한다. 금요일이 되니 공부하는 게 많..
이번에 틀린 문제는 4문제인데 이 문제를 오늘 다시 풀어보며 오답 정리를 해보았다. 지금까지 푼 최상위 수학 STEP 1 문제 최상위 수학 STEP 1 틀린 문제 오답 정리 학습을 마치고두 문제는 실수로 틀렸고 두 문제는 틀린만한 어려운 문제였다. 정수와 유리수 단원부터 계산하는 문제가 정말 많이 나오는데 그때마다 실수를 하지 않은 적이 거의 없는 것 같다. 사칙연산을 계산하는 문제에서 자주 틀리는 걸 보면 난 뺄셈을 잘 못하는 것 같다. 특히 작은 수에서 큰 수를 빼는 문제나 부호가 나오면 어려움을 느낀다.나중에 시간이 나면 이런 기본적인 수학 관련 계산문제를 풀어보며 기초 실력을 쌓아야 할 것 같다.
3일에 걸쳐 STEP 1 문제를 풀어보았다. 오늘 틀린 문제까지 모두 풀어보기로 마음을 먹고 수학 공부하는 시간을 다른 날보다 길게 잡았다. 최상위 수학 STEP 1 문제 풀기 학습을 마치고오늘은 아침에 집안일이 많아서 공부를 10시 넘어서 시작했다. 그리고 수학 공부도 할 게 많아서 1시간 반 넘게 하는 중이다. 그래도 이렇게 한 단원을 마치고 공부를 마칠 때가 가장 뿌듯하고 기쁘다. 이번 단원도 틀린 문제는 4문제밖에 없었지만 그래도 더 잘할 수 있었는데 하는 아쉬움이 든다.
이제 마지막 연습문제이므로 좀 더 힘을 내며 마무리를 잘해볼 것이다. 새벽 시간에 수업 영상을 들으려고 했는데 이건 좀 어려울 것 같다. 연습문제 풀기 세번째 문제 7번프로그램 2-7에서 왼쪽 버튼을 클릭하면 직사각형, 오른쪽 버튼을 클릭하면 원이 그려지도록 확장하시오. 하지만 마우스 오른쪽을 클릭했을 때는 파란색 원이 만들어지지 않았다. 그 이유가 뭘까? 오른쪽 클릭으로 원을 그릴 때 (x+100, y+100)을 중심으로 설정하는 부분이 문제임을 알게 되었다. cv.circle() 함수에서 중심 좌표 (x, y)는 고정해야 하며, 반지름만 설정해야 원이 원하는 위치에 올바르게 그려진다. 현재 코드는 반지름 대신 좌표 (x+100, y+100)이 들어가면서 올바른 원이 그려지지 않는 상태인 ..