분류 전체보기 199

[영상처리] 디지털 이미지

우리는 기억에 남기고 싶은 순간을 사진으로 남기기도 하고, 동영상을 찍기도 합니다. 0과 1밖에 알지 못하는 컴퓨터는 어떻게 사진과 동영상을 저장하고, 그것을 보여줄 수 있는걸까요? 아날로그? 디지털? 먼저 아날로그와 디지털에 대해 알 필요가 있습니다. 바로 눈 앞에서 김필(좋아하는 가수입니다)의 노래를 들을 수 있다고 합시다. 김필이 노래를 부른다면 공기를 곡선의 그래프로 진동시킬 것입니다. 그리고 그 진동은 우리 귀를 통해 그대로 들어오게 되죠. 당연히 '내가 좋아하는 김필이 눈 앞에서 노래를 부른다니' 하는 감동도 있지만, 그 노래는 우리가 스마트폰의 스트리밍 서비스로 음악을 들을 때와는 느낌이 또 다를 것입니다. 노래를 디지털 파일로 저장하기 위해서는 아주 짧은 주기로 매초마다의 소리의 높낮이를 ..

[ADD] ModifiedTensorboard object has no attribute '_write_logs' 에러

https://pythonprogramming.net/training-deep-q-learning-dqn-reinforcement-learning-python-tutorial/ # ModifiedTensorboard 클래스에 다음 메소드 추가 def _write_logs(self, logs, index): for name, value in logs.items(): if name in ['batch', 'size']: continue summary = tf.Summary() summary_value = summary.value.add() summary_value.simple_value = value summary_value.tag = name self.writer.add_summary(summary, in..

[파이썬] 이미지 → 그리드(배열)

코드토막 import numpy as np import cv2 # 이미지를 불러온다. map_img = cv2.imread('map.png', 0) # 이미지를 원하는 그리드 사이즈로 줄인다(40 × 40) map_img = cv2.resize(map_img, dsize=(40, 40)) # numpy 배열을 만들고, width, height = map_img.shape map = np.zeros((width, height), np.uint8) # 검정색 픽셀은 0, 나머지 픽셀은 1로 채웠다. for x in range(height): for y in range(width): if map_img[x][y] > 0: map[x][y] = 1 else: map[x][y] = 0 # hhlab.tistory..

[파이썬] f-string, 문자열 길이 고정

참고 python 3에서는 f-string이 갑이다. f-string 사용 방법과 사용해야 하는 이유 Python 에서 문자열을 다룰 때는 여러가지 방식으로 사용할 수 있다. 대부분은 아마도 기존 python 2에서 지원하던 %-formatting 방식과 Format string syntax 인 str.fo.. bluese05.tistory.com 가독성이 좋다 변수의 type에 대한 자유도가 더 높다. 궁금했던 코드 username_header = f"{len(username):

[네트워크] 파이썬 채팅 프로그램

IP 주소 https://terms.naver.com/entry.nhn?docId=3571314&cid=59088&categoryId=59096 IP 주소 [ IP 주소란 무엇인가 ] 현재(2015년 기준) 인터넷에 연결된 컴퓨터(혹은 모바일 기기 등)에 할당된 IP 주소는 거의 대부분 IPv4(IPversion4) 형태다. 이 IPv4의 주소 체계는 3자리 숫자가 4마디로 표기된다 terms.naver.com IP주소는 각 기기의 고유한 전화번호 같은 것이다. 따라서 인터넷을 사용하는 전 세계 모든 기기는 각각의 IP주소를 갖는다. 예전에는 대부분 4개의 수로 IP주소를 표현하는 IPv4를 사용했다. 1개의 수는 각각 0~255의 수를 표현하게 되고, 따라서 IPv4는 2564 = 4,294,967,2..

💻/CS 2020.09.18

[하드웨어] 메모리, CPU

메모리? 어떤 파일을 설치해서 저장장치에 저장했다고 합시다. 하지만 이것은 책꽂이에 책을 꽂아 놓은 것에 불과합니다. 책꽂이는 책을 보관만 하고 있을 뿐, 원하는 책을 꺼내서 CPU가 읽을 수 있도록 책상에 올려놔야합니다. 여기서 이 책상(작업공간)을 흔히 '메모리'라고 하며 구체적으로 '램(Random Access Memory)'이라고도 합니다. 운영체제, 게임, 문서 등 컴퓨터가 파일을 불러와 작업을 하려면 작업공간으로 가져오는 과정이 필요하고 우리가 흔히 '로딩'이라고 하는 것은 이 과정을 말합니다. 8GB 결국 메모리는 컴퓨터의 뇌(CPU)가 쓰는 작업공간입니다. 아까 책상의 비유를 들어보자면, 아무래도 할 일이 잔뜩 쌓여있는 책상에서 일을 하면 효율적인 작업이 불가능할 것입니다. 이 때, 책상의..

💻/CS 2020.09.18

[하드웨어] 운영체제, 저장장치

운영체제? 컴퓨터의 전원을 눌러 컴퓨터를 켰습니다. 위 사진은 제 컴퓨터를 부팅하면 나오는 바탕화면입니다. 우리는 이 화면을 통해서 클릭하고 드래그 하면서, 쉽고 빠르게 '디지털' 세상을 경험할 수 있습니다. 여기서 '디지털(digital)'은 어떤 것을 0과 1만을 이용해서 표현하거나 이해하는 것을 의미합니다. 우리가 파일을 실행했을 때, 동영상을 볼 때, 그냥 마우스를 움직일 때 조차 컴퓨터는 모든 것을 0과 1로 계산합니다. 이제, 바탕화면에 있는 아이콘을 더블 클릭해 게임을 실행시킨다고 합시다. 원래는, 0과 1밖에 모르는 컴퓨터에게 명령을 내리려면, 딱딱한 흑백화면에서 복잡한 명령어를 외워서 보내야 했습니다. 하지만 운영체제가 발달하며 우리는 화면에 있는 아이콘과 버튼을 클릭하는 것 만으로도 명..

💻/CS 2020.09.09