์๋ ํ์ธ์.
์ผ์ฃผ์ผ๊ฐ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ๋ฅผ ์ค๋นํ๋๋ผ ๋ธ๋ก๊ทธ์ ๊ธ์ด ๋ธํ์ต๋๋ค.
8์ 22์ผ 3ํ์ฐจ ๋ง์น๊ณ ๋ค์ ์ปด๋ฐฑํ์ต๋๋ค.
์ค๋์ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
์๋ฃ๋ ๋ง๊ณ , ์นด๋ฉ๋ผ์ ๋ค๋ฅธ ์ฅ๋น๋ฅผ ์ฐ๊ฒฐํด์ ๋ง๋๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ๊ฒ ์ง๊ณ ๋์ด ๊ฐ๊ฒ ์ต๋๋ค.
https://www.devicemart.co.kr/goods/view?no=1077951
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ์นด๋ฉ๋ผ๋ชจ๋ V2, 8MP (RPI 8MP CAMERA BOARD)
๊ณ ํ์ง 8MP Sony IMX219 ์ด๋ฏธ์ง ์ผ์๋ฅผ ํตํ ๊ณ ์ ์ด์ ๋ ์ฆ / 3280 x 2464 (์ฌ์ง), 1080p30, 720p60, 640x480p60/90 (๋น๋์ค) / CSI ์ธํฐํ์ด์ค / 25mm x 23mm x 9mm
www.devicemart.co.kr
์ ๊ฐ ์กฐ์ฌํด์ ์ ์ผ ๊ฐ์ฑ๋น ์ข์ ์นด๋ฉ๋ผ๋ฅผ ์ฐ๊ฒ ์๋๋ผ, ๊ทธ๋ฅ ์ ์ผ ๋์ค์ ์ธ ๊ฒ์ ์๊ธฐ ๋๋ฌธ์ ์ ์์๋ณด์๊ณ ํ๋ก์ ํธ์ ๋ง๋ ์นด๋ฉ๋ผ๋ฅผ ๊ณ ๋ฅด์๊ธฐ ๋ฐ๋๋๋ค.
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ์นด๋ฉ๋ผ๋ฅผ ์ฐ๊ฒฐํ ๋ชจ์ต์ ๋๋ค.
์นด๋ฉ๋ผ๋ฅผ ์ฐ๊ฒฐํ์ผ๋, ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์์ ์ค์ ํฉ๋๋ค.
ํ์ง ์ฃ์กํฉ๋๋ค. Camera enableํฉ๋๋ค.
import picamera
import time
with picamera.PiCamera() as camera:
# setup
camera.brightness = 50 # ๋ฐ๊ธฐ
camera.rotation = 0 # ํ์
camera.annotate_text = "Hello!" # ํ
์คํธ
# main roop
try:
camera.start_preview(fullscreen=False, window=(0, 0, 300, 300)) # ์นด๋ฉ๋ผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
time.sleep(1000)
print('start')
except KeyboardInterrupt:
camera.stop_preview() # ์ข
๋ฃ
print('interrupt')
finally:
camera.stop_preview() # ์ข
๋ฃ
print("clean up")
์ฌ๋ฌ ๋ธ๋ก๊ทธ๋ฅผ ์ฐพ์๋ณด๋ with๋ฌธ์ ์ฐ๊ธฐ๋ ํ๊ณ picamera์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ ๋ with๋ฌธ์ ์ฐ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
์ ๊ฐ ์์ฆ ํ์ด์ฌ์ ์ข๋ ํ์ด์ฌ์ค๋ฝ๊ฒ ์ฝ๋ฉํ๊ณ ์ถ์ด ๊ณต๋ถํ๊ณ ์๋ ์ฑ ์ ๋๋ค.
์ปจํ ์คํธ ๋งค๋์ (Context Manger)
์ปดํจํฐ ๊ด๋ฆฌ์์ ์ค์ํ ๊ฒ์ ์ฌ์ฉํ์ง ์๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์ผ ๊ด๋ฆฌ์์ ํ์ผ์ ์ด๋ฉด, ํ์ผ์ ๋ซ์์ผ ํฉ๋๋ค.
์ฝ๋๊ฐ ๊ธธ์ด์ง๋ฉด ๋นผ๋จน๋ ์ผ์ด ๋ฐ์ํฉ๋๋ค. ์์ ์ ์๋ฃํ ํ์ผ์ ๋ซ์ง ์์ผ๋ฉด ๋ฆฌ์์ค๊ฐ ์์ฌ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ํ์ด์ฌ๋ค์ด ์ฝ๋ฉ์ ํ ์ ์๋ with๋ฌธ์ ์๊ฐํฉ๋๋ค.
with๋ฌธ์ ์ฌ์ฉํ์ฌ Camera๋ฅผ ์ฐ๋ํ๋ฉด with๋ฌธ๊ณผ ๋๋ ๋์์ ๋ฆฌ์์ค๋ฅผ ์์์ ๋ฐ๋ฉํฉ๋๋ค.
์ข ๋ ์ง๊ด์ ์ด๊ณ ์์ ํ๊ฒ ์ฝ๋ฉ์ ํ ์์์ต๋๋ค.