250x250
Link
๋์ GitHub Contribution ๊ทธ๋ํ
Loading data ...
Notice
Recent Posts
Recent Comments
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ๊ตฐ์งํ
- ADP
- numpy
- ADsP
- ๋์ํ๋ณธ
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- t-test
- ๋ฐ์ดํฐ๋ถ์
- datascience
- DBSCAN
- Lambda
- ๋น ๋ฐ์ดํฐ
- LDA
- ์ค๋ฒ์ํ๋ง
- dataframe
- ๋ ๋ฆฝํ๋ณธ
- PCA
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- ํฌ๋กค๋ง
- Python
- opencv
- pandas
- ํ์ด์ฌ
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ์๋ํด๋ผ์ฐ๋
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- iloc
- ์ธ๋์ํ๋ง
- ํ ์คํธ๋ถ์
- ์ฃผ์ฑ๋ถ๋ถ์
Archives
Data Science LAB
[Python] OpenCV ๊ธฐ์ด2 - ์ด๋ฏธ์ง ์์ ๊ทธ๋ฆผ๊ทธ๋ฆฌ๊ธฐ ๋ณธ๋ฌธ
๐ฅ๏ธ Computer Vision/Opencv
[Python] OpenCV ๊ธฐ์ด2 - ์ด๋ฏธ์ง ์์ ๊ทธ๋ฆผ๊ทธ๋ฆฌ๊ธฐ
ใ ใ ใ ใ 2022. 8. 2. 00:48728x90
1. ๋น ์ค์ผ์น๋ถ ๊ทธ๋ฆฌ๊ธฐ
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
# img[:] = (255,255,255) # ์ ์ฒด ๊ณต๊ฐ ํฐ์์ผ๋ก ์ฑ์ฐ๊ธฐ
# print(img)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
numpy๋ฅผ ํ์ฉํ๋ฉด ๋น ์ค์ผ์น๋ถ์ ์ฌ์ด์ฆ๋ฅผ ์ค์ ํ ์ ์๊ณ ,
์ง์ ์์ญ์ ์์์ ์ง์ ํ ์๋ ์๋ค.
2. ์ผ๋ถ ์์ญ ์์น
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
img[100:200,200:300] = (255,255,255)
#์ธ๋ก ์์ญ, ๊ฐ๋ก์์ญ
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
ํน์ ์์ญ์ ์ง์ ํ์ฌ ์์์ ๋ณ๊ฒฝํ ์ ์์
3. ์ง์ ๊ทธ๋ฆฌ๊ธฐ
cv2.line([์ด๋ฏธ์ง], [์์์ ], [๋์ ], [์์], [์ง์ ์ข ๋ฅ])
OpenCV์์ ์ง์ํ๋ ์ง์ ์ข ๋ฅ
1. cv2.LINE_4 : ์ํ์ข์ฐ 4๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ๋ ์
2. cv2.LINE_8 : ๋๊ฐ์ ํฌํจํ 8๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ๋ ์ (๊ธฐ๋ณธ๊ฐ)
3. cv2.LINE_AA : ๋ถ๋๋ฌ์ด ์ (anti-aliasing)
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
COLOR = (0,255,255) #BGR : yellow
THICKNESS = 3 #๋๊ป
cv2.line(img,(50,100),(400,50),COLOR,THICKNESS,cv2.LINE_8)
cv2.line(img,(50,200),(400,150),COLOR,THICKNESS,cv2.LINE_4)
cv2.line(img,(50,300),(400,250),COLOR,THICKNESS,cv2.LINE_AA)
# ๊ทธ๋ฆผ ์์น, ์์์ , ๋ ์ , ์๊น ๋๊ป, ์ ์ข
๋ฅ
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
LINE_4์ LINE_8์ด ๋์ ๋๊ฒ ์ฐจ์ด๋์ง๋ ์์ง๋ง,
LINE_4๋ ์ํ ์ข์ฐ 4๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๊ณ ,
LINE_8์ ๋๊ฐ์ ์ ํฌํจํ 8๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ๋์ด์ ธ ์๋ค. (default๊ฐ)
4. ์ ๊ทธ๋ฆฌ๊ธฐ
cv2.circle([์ด๋ฏธ์ง], [์ค์ฌ์ ], [๋ฐ์ง๋ฆ], [์์], [๋๊ป], [์ ์ข ๋ฅ])
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
COLOR = (255,255,0) #BGR : ์ฅ์
RADIUS = 50 # ๋ฐ์ง๋ฆ
THICKNESS = 10 #๋๊ป
cv2.circle(img,(200,100),RADIUS,COLOR,THICKNESS,cv2.LINE_AA) # ์์ด ๋น ์
# ๊ทธ๋ฆด ์์น, ์์ ์ค์ฌ, ๋ฐ์ง๋ฆ, ์๊น, ๋๊ป, ์ ์ข
๋ฅ
cv2.circle(img,(400,100),RADIUS,COLOR,cv2.FILLED,cv2.LINE_AA) # ์์ด ๊ฝ ์ฐฌ ์
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
์์น, ์ค์ฌ, ๋ฐ์ง๋ฆ, ์ฑ์ ์ฌ๋ถ ์ค์
5. ์ฌ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ
cv2.rectangle([์ด๋ฏธ์ง], [์ผ์ชฝ ์], [์ค๋ฅธ์ชฝ ์๋], [์์], [๋๊ป])
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
COLOR = (0,255,0) #BGR : ์ด๋ก์
THICKNESS = 3 #๋๊ป
cv2.rectangle(img,(100,100),(200,200),COLOR,THICKNESS) # ์์ด ๋น ์ฌ๊ฐํ
# ๊ทธ๋ฆด ์์น, ์ผ์ชฝ ์, ์ค๋ฅธ์ชฝ ์๋, ์๊น, ๋๊ป
cv2.rectangle(img,(300,100),(400,300),COLOR,cv2.FILLED) # ์์ด ๋น ์ฌ๊ฐํ
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
6. ๋ค๊ฐํ ๊ทธ๋ฆฌ๊ธฐ
cv2.polylines([์ด๋ฏธ์ง], [๊ทธ๋ฆด ์ขํ๋ค], [๋ซํ ์ฌ๋ถ], [๋๊ป], [์ ์ข ๋ฅ])
import cv2
import numpy as np
# ์ธ๋ก 46 * ๊ฐ๋ก 640, 3 Channel(RGB)์ ํด๋นํ๋ ์ค์ผ์น๋ถ
img = np.zeros((460,640,3), dtype = np.uint8)
COLOR = (0,0,255) #BGR : ๋นจ๊ฐ์
THICKNESS = 3 #๋๊ป
pts1 = np.array([[100,100] , [200,100], [100,200]])
pts2 = np.array([[200,100], [300,100], [300,200]])
#cv2.polylines(img, [pts1], True, COLOR,THICKNESS, cv2.LINE_AA)
#cv2.polylines(img, [pts2], True, COLOR,THICKNESS, cv2.LINE_AA)
cv2.polylines(img, [pts1,pts2], True, COLOR,THICKNESS, cv2.LINE_AA) # ์์ด ๋น ๋ค๊ฐํ
# ๊ทธ๋ฆด ์์น, ๊ทธ๋ฆด ์ขํ๋ค, ๋ซํ ์ฌ๋ถ, ์๊น, ๋๊ป, ์ ์ข
๋ฅ
pts3 = np.array([[[100,300], [200,300], [100,400]], [[200,300], [300,300], [300,400]]])
cv2.fillPoly(img, pts3, COLOR, cv2.LINE_AA) # ๊ฝ ์ฐฌ ๋ค๊ฐํ
# ๊ทธ๋ฆด ์์น, ๊ทธ๋ฆด ๋ค๊ฐํ, ์๊น, ์ ์ข
๋ฅ
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
728x90
'๐ฅ๏ธ 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 ๊ธฐ์ด 1 - ์ด๋ฏธ์ง, ๋์์ ์ถ๋ ฅ (0) | 2022.08.01 |
[Python] OpenCv ์ค์น (0) | 2022.05.14 |
Comments