์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ADsP
- PCA
- datascience
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- LDA
- ์๋ํด๋ผ์ฐ๋
- Python
- ๋น ๋ฐ์ดํฐ
- ๋ ๋ฆฝํ๋ณธ
- ์ค๋ฒ์ํ๋ง
- DBSCAN
- numpy
- pandas
- ๊ตฐ์งํ
- iloc
- ๋ฐ์ดํฐ๋ถ์
- t-test
- ํ ์คํธ๋ถ์
- ํฌ๋กค๋ง
- ๋์ํ๋ณธ
- ์ธ๋์ํ๋ง
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- opencv
- ADP
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- Lambda
- dataframe
- ์ฃผ์ฑ๋ถ๋ถ์
- ํ์ด์ฌ
Data Science LAB
[Python] OpenCV ๊ธฐ์ด 1 - ์ด๋ฏธ์ง, ๋์์ ์ถ๋ ฅ ๋ณธ๋ฌธ
[Python] OpenCV ๊ธฐ์ด 1 - ์ด๋ฏธ์ง, ๋์์ ์ถ๋ ฅ
ใ ใ ใ ใ 2022. 8. 1. 23:29์ ํ๋ธ์์ OpenCV ๊ด๋ จ ์ ์ฉํ ์์์ ์ฐพ์์ ์์ผ๋ก ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค.
์ฝ๋๋ ๊ฐ๊ฒฐํ๊ณ ์ค๋ช ๋ ์ฝ๊ฒ ์ํด์ฃผ์ ์ ๋ง์ ๋์์ด ๋ ๊ฒ ๊ฐ๋ค. (เธ •_•)เธ
์ ํ๋ธ ์ถ์ฒ : https://www.youtube.com/watch?v=XK3eU9egll8&feature=share
1. ์ด๋ฏธ์ง ์ถ๋ ฅ
์ฌ์ฉํ ์ด๋ฏธ์ง ์ถ์ฒ : https://pixabay.com/ko/photos/%ea%b3%a0%ec%96%91%ec%9d%b4-%ec%a0%8a%ec%9d%80-%eb%8f%99%eb%ac%bc-%ec%a3%bc%eb%b0%a9-2083492/
import cv2
img = cv2.imread('img.jpg') #ํด๋น๊ฒฝ๋ก์ ํ์ผ ์ฝ์ด์ค๊ธฐ
cv2.imshow('img',img) #img ์ด๋ฆ์ ์ฐฝ์ img ํ์
cv2.waitKey(0) # ์ง์ ๋ ์๊ฐ๋์ ์ฌ์ฉ์ ํค ์
๋ ฅ ๋๊ธฐ
cv2.destroyAllWindows() #๋ชจ๋ ์ฐฝ ๋ซ๊ธฐ
์ด๋ฐ์์ผ๋ก ์๋์ฐ์ฐฝ์ด ํ์ฑํ ๋๋ฉด์ ์ ์ฅ๋ ์ด๋ฏธ์ง๋ฅผ ๋ณผ ์ ์๋ค.
cv2.waitKey(0)๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์ ํค๋ณด๋์ ์๋ฌด ํค๋ฅผ ๋๋ฅด๊ธฐ ์ ๊น์ง๋ ํ๋ฉด์ด ๊ณ์ ์คํ๋๊ณ ์๋ค.
- ์ด๋ฏธ์ง ์ฝ๊ธฐ ์ต์
1. cv2.IMREAD_COLOR : ์ปฌ๋ฌ ์ด๋ฏธ์ง, ํฌ๋ช ์์ญ์ ๋ฌด์(๊ธฐ๋ณธ๊ฐ)
2. cv2.IMREAD_GRAYSCALE : ํ๋ฐฑ ์ด๋ฏธ์ง
3. cv2.IMREAD_UNCHANGED : ํฌ๋ช ์์ญ ํฌํจ
img_color = cv2.imread('img.jpg',cv2.IMREAD_COLOR)
img_gray = cv2.imread('img.jpg',cv2.IMREAD_GRAYSCALE)
img_unchanged = cv2.imread('img.jpg',cv2.IMREAD_UNCHANGED)
cv2.imshow('img_color',img_color)
cv2.imshow('img_gray',img_gray)
cv2.imshow('img_unchanged',img_unchanged)
cv2.waitKey(0)
cv2.destroyAllWindows()
์์ ์ฝ๋๋ฅผ ์คํ์ํค๋ฉด ์ฌ์ง๊ณผ ๊ฐ์ด ์๋์ฐ์ฐฝ 3๊ฐ๊ฐ ๋์์ ๋ฌ๋ค.
- Shape
img = cv2.imread('img.jpg')
img.shape #์ธ๋ก, ๊ฐ๋ก, Channel(RGB)
img.shapeํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์ ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ, Opencv์์๋ RGB ๊ฐ์ผ๋ก ํํ๋๋ค.
2. ๋์์ ์ถ๋ ฅ
๋์์ ์ถ์ฒ : https://www.pexels.com/ko-kr/video/7515833/
import cv2
cap = cv2.VideoCapture('video.mp4')
while cap.isOpened(): # ๋์์ ํ์ผ์ด ์ฌ๋ฐ๋ก ์ด๋ ธ๋์ง?
ret, frame = cap.read() #ret : ์ฑ๊ณต ์ฌ๋ถ, frame : ๋ฐ์์จ ์ด๋ฏธ์ง(ํ๋ ์)
if not ret:
print('๋์ด์ ๊ฐ์ ธ์ฌ ํ๋ ์ ์์')
break
cv2.imshow('video',frame)
if cv2.waitKey(1) == ord('q'):
print('์ฌ์ฉ์ ์
๋ ฅ์ ์ํด ์ข
๋ฃ')
break
cap.release() #์์ ํด์
cv2.destroyAllWindows() # ๋ชจ๋ ์ฐฝ ๋ซ๊ธฐ
๋์์ ์ถ๋ ฅ์ ์บก์ณ๋ณธ์ ์ด์ด์ ์ฌ์์ํจ๋ค๊ณ ์ดํด
'q' ํค๋ฅผ ๋๋ฅด๊ฑฐ๋ ๋์์ ์ฌ์์ด ์๋ฃ๋๋ฉด ๋น๋์ค ์ฌ์์ด ๋๋๋ฉฐ, ์๋์ฐ์ฐฝ์ด ๋ซํ
waitKey(1)๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๋น๋์ค ์ฌ์ ์๋๊ฐ ์ข ๋น ๋ฅด๋ค.
3. ์นด๋ฉ๋ผ ์ถ๋ ฅ
cap = cv2.VideoCapture(0) # 0๋ฒ์งธ ์นด๋ฉ๋ผ ์ฅ์น(Device ID)
if not cap.isOpened(): #์นด๋ฉ๋ผ๊ฐ ์ ์ด๋ฆฌ์ง ์์ผ๋ฉด
exit() # ํ๋ก๊ทธ๋จ ์ข
๋ฃ
while True:
ret, frame = cap.read()
if not ret :
break
cv2.imshow('camera',frame)
if cv2.waitKey(1) == ord('q'): #์ฌ์ฉ์๊ฐ q ์
๋ ฅํ๋ฉด ์ข
๋ฃ
break
cap.release()
cv2.destroyAllWindows()
๋ ธํธ๋ถ์ ์นด๋ฉ๋ผ๊ฐ 1๋ ๋ฌ๋ ค ์๊ธฐ ๋๋ฌธ์ cv2.VideoCapture(0)์ผ๋ก ์ค์ !
๊ธฐ๊ธฐ์ ์นด๋ฉ๋ผ๊ฐ 2๋ ์ด์ ๋ฌ๋ ค์์ผ๋ฉด 0,1,2 .. ์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก 'q' ๋ฒํผ์ ๋๋ฅด๋ฉด ์นด๋ฉ๋ผ ์ข ๋ฃ
'๐ฅ๏ธ Computer Vision > Opencv' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] OpenCV ๊ธฐ์ด 5 - ์ด๋ฏธ์ง ํฌ๊ธฐ์กฐ์ (resize) (0) | 2022.08.05 |
---|---|
[Python] OpenCV ๊ธฐ์ด 4 - ์ด๋ฏธ์ง ๋ฐ ๋์์ ์ ์ฅ (0) | 2022.08.04 |
[Python] OpenCV ๊ธฐ์ด 3 - ์ด๋ฏธ์ง ์์ ํ ์คํธ ์ ๋ ฅ (0) | 2022.08.03 |
[Python] OpenCV ๊ธฐ์ด2 - ์ด๋ฏธ์ง ์์ ๊ทธ๋ฆผ๊ทธ๋ฆฌ๊ธฐ (0) | 2022.08.02 |
[Python] OpenCv ์ค์น (0) | 2022.05.14 |