본문 바로가기

Python

(19)
Python Pygame 02 - Snake Game 01 안녕하세요. 바로 전 블로그에 이어서 Snake Game을 마무리하겠습니다. 일단 개발을 해서 위에처럼 가능하게 만들었습니다. 마지막에 코드를 첨부하겠습니다. 어떻게든 위에처럼 만들어서 완료는 했습니다. 다른 사람들이 한 것을 보면 Object-oriented program 객체 지향형을 많이들 사용했습니다. 제가 생각해봐도 그렇게 하는 것이 무조건 편한 것 같습니다. 저는 그냥 List로 만들어서 저장해서 만들었는데, 중간에 좀 이상해져서 다시 지우고 코딩을 했습니다. 아직 실력이 부족해서 깔끔하고 멋있게 코딩을 못하고 있네요. 얼른 연습을 해서 실력을 향상해야겠습니다. 그럼 안뇽~ #Snake Game import math import random import pygame def DrawMapLine..
Python Pygame 02 - Snake Game 00 안녕하세요. 오늘부터 pygame을 이용해서 Snake Game을 만들려고 합니다. 온라인 상에서 쉽게 Sample Code를 찾아서 쓸 수 있지만, 개인적으로 만들려고 합니다. 저도 처음으로 pygame을 써보는 거라서 여기저기 인터넷, 유튜브, 블로그를 보면서 공부를 하고 만들기 시작했습니다. 일단 시작을 하기전에 Pygame을 설치해야합니다. >> py -m pip install -U pygame –user 이라고 입력을 하면 위 이미지와 같은 결과가 나올 것입니다. 그리고 나서 >> py -m pygame.examples.aliens 라고 입력을 해서 Hello from the pygame community. https://www.pygame.org/contribute.html이 나오면 됩니다. ..
Python Project 0-4 WebCam으로 이미지를 찍어서 글 읽기 마지막 안녕하세요. 그럼 이제 진짜 마지막으로 아까 다 마무리한 3단계의 코드를 합쳐서 프로젝트를 완성하겠습니다. 총 3단계가 있었습니다. 1. WebCam을 이용해서 사진을 찍어서 사진으로 파일을 저장한다. 2. 사진에 있는 글을 읽어서 Text로 저장을 한다. 3. Text를 읽어서 스피커로 출력을 한다. 다들 이렇게 3가지 단계를 마무리했다는 가정하에 시작하겠습니다. 유튜브와 마찬가지로 라즈베리파이와 웹켐(로지텍)을 이용해서 하려고 했는데, 라즈베리파이에 쓸 모니터와 키보드 마우스가 없어서 일단 노트북으로 하겠습니다. 죄송합니다… 일단 main이 있는 파이선 파일을 만듭니다. 저 같은 경우는 main이 있는 폴더에 위에 만든 함수들을 넣었습니다. 다들 아시겠지만 전체적으로 코드가 길지 않기 때문에 한 파일..
Python Project 0-3 텍스트를 컴퓨터가 읽게 하는 코딩 안녕하세요. 이제 3번째 단계 중 마지막 부분인 텍스트를 컴퓨터가 읽는 코딩을 해야 합니다. 일단 기본 라이브러리로는 어렵기 때문에 이번에도 새로운 라이브러리를 설치해야 합니다. 설치는 명령어 한 줄이면 끝나기 때문에 매우 쉽습니다. >> pip install gTTS 라고 입력을 하면 아래와 같이 설치가 될 것입니다. 이렇게 설치가 되면 아래처럼 완료 표시가 나옵니다. 뭐 이번에도 마찬가지로 업그레이드 관련된 것은 무시하겠습니다. 왜냐하면 결과적으로 프로젝트를 하는데 큰 문제가 없기 때문입니다. 이렇게 하면 텍스트를 쉽게 컴퓨터가 읽어서 스피커로 나오게 할 수 있습니다. 일단 라이브러리를 선언합니다. 첫 줄에 있는 라이브러리가 텍스트를 Speech로 전환해 주는 것이고 2번째 줄에 있는 것은 Speec..
Python Project 0-2 이미지에 있는 텍스트를 텍스트화 하기 Python Project 0-2 이미지에 있는 텍스트를 텍스트화 하기 안녕하세요. 이번에는 이미지에 있는 텍스트를 텍스트화 시키는 방법을 알려드리겠습니다. 뭐 요즘 유명한 Deep Learning Recognition을 이용하면 가능합니다. 이것을 하나하나 다 하기에는 너무 어렵고 힘들기 때문에 간단하게 라이브러리를 받아서 사용하면 됩니다. 일단 방법을 알려드리겠습니다. 처음에는 Tesseract를 설치했습니다. 이것을 설치를 해야 pytesseract가 되는지 까지는 모르겠습니다. 처음에 Tesseract를 설치해서 이미지에 있는 텍스트가 텍스트화 되는 것을 확인하고 보니, Python코드로 사용을 어떻게 해야 할지 몰라서 pytesseract를 다시 설치를 하고 사용을 했습니다.(잘 모르는 부분에 ..
Python Project 0-1 WebCam으로 이미지 찍기 우선 바로 전 글에서 말한 대로 이미지에 있는 텍스트를 사진으로 찍어서 Text화 해서 스피커로 소리로 나오게 하는 걸 만들기 위해서는 일단 WebCam을 이용해서 사진을 찍어야 합니다. 그러기 위해서는 저는 opencv를 사용했습니다. 가장 큰 이유는 구글링 해서 찾을 때 가장 많은 예시가 나왔고, 제 노트북(삼성 노트북)으로 윈도우를 쓰는데 문제가 딱히 없어서 사용했습니다. 일단 opencv-python을 설치해야합니다. >> pip install opencv-python 이라고 위에 커맨드를 입력하면 자동으로 설치가 됩니다. 어렵지 않을 꺼라 믿습니다. 그러면 아래와 같이 설치가 완료된 것을 확인할 수 있습니다. 뭐 업그레이드가 가능하다고 되어있지만, 저는 패스하고 넘어갔습니다. 자 그럼 WebCa..
Python Project 0-0 WebCam으로 이미지를 찍어서 글 읽기 안녕하세요. 백날 기초 코딩을 공부해도 프로젝트를 하면서 많이 쓰는 게 중요합니다. (그러니 학원만 다니기만 해서는 절대로 개발자로서 코딩은 힘듭니다. 무슨 일이 있어도 공부를 한 다음에 간단한 프로젝트를 찾아서 직접 코딩을 하는 게 좋습니다. 요즘에는 유튜브에 간단한 프로젝트를 보여주는 영상들이 많은데 일단 그런 것 따라 하는 것부터 시작하면 됩니다.) 이제 슬슬 코딩을 했으니 나름 프로젝트 단위로 Python코드를 구현 하려고 합니다. 뭔가 여럿이서 하기에는 제가 주위에 아는 사람이 없고, 혼자서 할만한 양이면서 주말 정도 투자를 해서 쉽게 할 수 있는 프로젝트를 하려고 합니다. 여러가지 재미있는 것들이 있었지만 저는 WebCam으로 글이 있는 그림을 찍어서 글을 읽게 하는 것을 만들려고 합니다. 이..
11. Python 기초이기 보다는 전반적인 알고리즘(주로 정렬) 바로 전 글에서 검색 알고리즘 설명을 하다가 끝났습니다. 아무래도 제일 편하고 확실하게 검색하는 방법은 하나하나씩 확인을 해서 처음부터 끝까지 검색을 하는 방법입니다. 하지만 이 알고리즘에 단점도 있습니다. 바로 시간이 오래 걸린 다는 것입니다. 확실하지만 오래 걸리는 단점 때문에 다른 방법을 이용해서 검색하는 알고리즘 몇 개를 설명하려고 합니다. 이진 검색 (Binary Search) 시간 복잡도 : O(log n) 이 알고리즘을 이용하면 일반적인 검색 (Linear Search) 보 다보다 빠릅니다. 생각보다 간단합니다. 처음에 중간 index로 이동을 해서 값을 확인하고 찾는 값이 작으면 왼쪽에 있는 배열로 이동, 더 큰 값을 찾아야 하면 오른쪽 배열로 이동을 하면서 찾아가는 방식입니다. 예를 들어..
10. Python 기초이기 보다는 전반적인 알고리즘 이제 코딩을 어느 정도 배웠으니 알고리즘에 대해서 설명하겠습니다. 솔직히 알고리즘 (Algorithm)이라는 말을 많이 들어 보았을 것이고, 코딩을 하면 알고리즘을 만든다 이렇게 알고 있을 겁니다. 네 맞습니다. 알고리즘이라고 하면 어떤 문제를 풀기 위한 여러 단계를 생각하시면 됩니다. 코딩을 하는 이유는 어떤 문제를 해결하기 위해서 하니까 코딩을 해서 알고리즘을 한다고 보면 되겠네요. 그러면 알고리즘을 코딩할 때 생각해야 하는 부분은 무엇일까요? 당연히 첫 번째는 문제 해결이 되냐 안되냐입니다. 코딩을 했는데 문제 해결이 안 되면 뭐 의미가 없는 거니까요. 두번째로는 문제를 푸는 데 있어서 얼마나 시간이 걸리냐입니다. 당연한 거지만, 일반적으로 살아가는데 어떤 곳에서도 시간이 오래 걸려서 문제를 풀면 ..
09. Python 기초 유용한 라이브러리 이번 글에서는 몇 가지 유용한 라이브러리에 대해서 설명하겠습니다. 바로 전 글에서는 기본적으로 Python이 제공해주는 몇 가지 함수들에 대해서 사용 용도 및 예시를 보였는데, 이번에는 Python에서 기본 라이브러리를 제공해 주는 것에 대해서 설명하겠습니다. 기본 함수와 다른 점은 위에 import를 해야 사용이 가능하다는 점입니다. 나머지는 기본 제공 함수처럼 쓰면 쓸 수 있습니다. 그리고 전 블로그에서 파일 열고 입력하는 함수가 빠져있어서 그 부분도 여기서 설명을 먼저 하고 라이브러리에 대해서 설명하겠습니다. 1. File I/O 코드에서 파일을 읽고 혹은 쓰기 위해서 쓰는 것 코딩을 하다 보면 간단하게 print를 하면 끝나는 경우도 있지만, 뭔가 사람들에게 혹은 개인적으로 데이터를 저장해서 놓을..