๐Ÿ’ป 151

[์˜์ƒ์ฒ˜๋ฆฌ] ๊ธฐํ•˜ ๋ณ€ํ™˜, ์—ญ๋ฐฉํ–ฅ ๋งคํ•‘

์–ดํŒŒ์ธ ๊ธฐํ•˜ ๋ณ€ํ™˜ (Affine Transformation) ์ €๋Š” Affine์„ '์–ดํŒŒ์ธ'์œผ๋กœ ์ฝ๋„๋ก ๋ฐฐ์› ์ง€๋งŒ ์œ„ํ‚คํ”ผ๋””์•„์—์„œ๋Š” '์–ดํ•€'์ด๋ผ๊ณ  ํ•˜๋‚˜ ๋ด…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ 0-9์˜ ์ˆซ์ž๋ฅผ ์ •์˜ํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ ์—ฐ์‚ฐ์„ ์ •์˜ํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋“ฏ, ์–ดํŒŒ์ธ๋„ ์–ด๋– ํ•œ ์ฒด๊ณ„(๊ณต๊ฐ„)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์–ดํŒŒ์ธ์€ ์ ๊ณผ ๋ฒกํ„ฐ๋ฅผ ์›์†Œ๋กœ, ๊ทธ๊ฒƒ๋“ค์˜ ์—ฐ์‚ฐ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ํฌ์ŠคํŒ…์•ˆ์—์„œ ๋‹ค๋ฃจ๊ธฐ์—๋Š” ์ž๋ฃŒ๊ฐ€ ๋งŽ์•„, ์ถ”ํ›„์— ํฌ์ŠคํŒ…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ๋‚˜ ๊ตฌ๊ธ€์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์•„ํ•€ ๋ณ€ํ™˜ (Affine Transformation) ์•„ํ•€ ๋ณ€ํ™˜์ด ์ , ์ง์„  ๋ฐ ํ‰๋ฉด์„ ์–ด๋–ป๊ฒŒ ๋ณด์กดํ•˜๋Š”์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์•„ํ•€ ๋ณ€ํ™˜๊ณผ ๊ธฐํƒ€ ์ฃผ์ œ์— ๊ด€ํ•œ ์ฝ”๋“œ ์˜ˆ์ œ, ๋น„๋””์˜ค, ๋ฌธ์„œ๊ฐ€ ์ž๋ฃŒ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. kr.mathworks.com ์—ญ๋ฐฉํ–ฅ ๋งคํ•‘ (Backwar..

[์˜์ƒ์ฒ˜๋ฆฌ] ๋””์ง€ํ„ธ ์ด๋ฏธ์ง€

์šฐ๋ฆฌ๋Š” ๊ธฐ์–ต์— ๋‚จ๊ธฐ๊ณ  ์‹ถ์€ ์ˆœ๊ฐ„์„ ์‚ฌ์ง„์œผ๋กœ ๋‚จ๊ธฐ๊ธฐ๋„ ํ•˜๊ณ , ๋™์˜์ƒ์„ ์ฐ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. 0๊ณผ 1๋ฐ–์— ์•Œ์ง€ ๋ชปํ•˜๋Š” ์ปดํ“จํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์ง„๊ณผ ๋™์˜์ƒ์„ ์ €์žฅํ•˜๊ณ , ๊ทธ๊ฒƒ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š”๊ฑธ๊นŒ์š”? ์•„๋‚ ๋กœ๊ทธ? ๋””์ง€ํ„ธ? ๋จผ์ € ์•„๋‚ ๋กœ๊ทธ์™€ ๋””์ง€ํ„ธ์— ๋Œ€ํ•ด ์•Œ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๋ˆˆ ์•ž์—์„œ ๊น€ํ•„(์ข‹์•„ํ•˜๋Š” ๊ฐ€์ˆ˜์ž…๋‹ˆ๋‹ค)์˜ ๋…ธ๋ž˜๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ๊น€ํ•„์ด ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅธ๋‹ค๋ฉด ๊ณต๊ธฐ๋ฅผ ๊ณก์„ ์˜ ๊ทธ๋ž˜ํ”„๋กœ ์ง„๋™์‹œํ‚ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ง„๋™์€ ์šฐ๋ฆฌ ๊ท€๋ฅผ ํ†ตํ•ด ๊ทธ๋Œ€๋กœ ๋“ค์–ด์˜ค๊ฒŒ ๋˜์ฃ . ๋‹น์—ฐํžˆ '๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๊น€ํ•„์ด ๋ˆˆ ์•ž์—์„œ ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅธ๋‹ค๋‹ˆ' ํ•˜๋Š” ๊ฐ๋™๋„ ์žˆ์ง€๋งŒ, ๊ทธ ๋…ธ๋ž˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์Šค๋งˆํŠธํฐ์˜ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋กœ ์Œ์•…์„ ๋“ค์„ ๋•Œ์™€๋Š” ๋Š๋‚Œ์ด ๋˜ ๋‹ค๋ฅผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋…ธ๋ž˜๋ฅผ ๋””์ง€ํ„ธ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„์ฃผ ์งง์€ ์ฃผ๊ธฐ๋กœ ๋งค์ดˆ๋งˆ๋‹ค์˜ ์†Œ๋ฆฌ์˜ ๋†’๋‚ฎ์ด๋ฅผ ..

[ํŒŒ์ด์ฌ] ์ด๋ฏธ์ง€ → ๊ทธ๋ฆฌ๋“œ(๋ฐฐ์—ด)

์ฝ”๋“œํ† ๋ง‰ 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

[ํ•˜๋“œ์›จ์–ด] ์กฐ๋ฆฝPC ๊ตฌ๋งคํ•˜๊ธฐ

์กฐ๋ฆฝPC? ๋ธŒ๋žœ๋“œ PC(์‚ผ์„ฑ, LG ๋“ฑ)๋ฅผ ์‚ฌ๋Š” ์ด์œ ๋„ ๋ถ„๋ช…ํžˆ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๋ฅผ ์ž˜ ๋ชจ๋ฅด๊ณ , ๋ธŒ๋žœ๋“œ๋ฅผ ๋ฏฟ์œผ๋‹ˆ๊นŒ. A/S๊ฐ€ ๋ณด์žฅ๋˜๋‹ˆ๊นŒ. ํ•˜์ง€๋งŒ ์กฐ๊ธˆ๋งŒ ์•Œ์•„๋ณด๊ณ  ๋™์ผํ•œ ์˜ˆ์‚ฐ์œผ๋กœ ์กฐ๋ฆฝPC๋ฅผ ๊ตฌ๋งคํ•œ๋‹ค๋ฉด, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์›”๋“ฑํžˆ ์ข‹์€ ์„ฑ๋Šฅ์œผ๋กœ ๋ถ€ํ’ˆ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์กฐ๋ฆฝPC๋ฅผ ๊ตฌ๋งคํ•  ๋•Œ ๋ด์•ผํ•  ๊ฒƒ๋“ค์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ง€์‹์„ ๊ณต๋ถ€ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. http://shop.danawa.com/virtualestimate/?controller=estimateMain&methods=index&marketPlaceSeq=16&logger_kw=esti_shop_top PC๊ฒฌ์  : ์ƒต๋‹ค๋‚˜์™€ ๋‚˜๋งŒ์˜ PC๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๊ฒฌ์ ๋น„๊ต, ์กฐ๋ฆฝ๊นŒ์ง€ ํ•œ๋ฒˆ์— ๊ตฌ๋งคํ•˜์„ธ์š”. shop.danawa.c..

๐Ÿ’ป/CS 2020.09.08

[ํŒŒ์ด์ฌ] ๋‹จ์ถ•ํ‚ค ์ •๋ฆฌ

https://kgu0724.tistory.com/95 Pycharm ๋‹จ์ถ•ํ‚ค ์ •๋ฆฌ (ํŽŒ) Editing Ctrl + Space : Basic code completion (the name of any class,method or variable) Ctrl + Shift + Space : Smart code completion (filters the list of methodsand variables by expected type) Ctrl.. kgu0724.tistory.com Ctrl + Alt + T : ๋‹ค์Œ์œผ๋กœ ์ฝ”๋“œ ๊ฐ์‹ธ๊ธฐ… (if..else, try..catch, for,synchronized, etc.) Ctrl + W : ๊ฐ€์žฅ ์•ˆ์ชฝ์˜ ๊ด„ํ˜ธ๋ถ€ํ„ฐ ์„ ํƒ(์ ์  ํ™•์žฅ ๋œ๋‹ค.) Ctrl + Alt + I..