이미지 내에 화살표가 있는 선을 그리고 싶을 때는 cv2.arrowedLine() 함수를 사용할 수 있습니다.
cv2.arrowedLine(선을 넣을 이미지, 선출발좌표, 선종료좌표, 선색깔, 선두께)
참고로 화살표 없는 일반 선을 그릴 때는 cv2.line() 함수를 사용합니다.
그러면 이미지 내에 화살표를 넣어보는 예제를 하나 만들어 보도록 하겠습니다. 코드와 실행 결과는 각각 다음과 같습니다.
1
2
3
4
5
6
7
|
import cv2
im = cv2.imread('test.jpg')
cv2.arrowedLine(im, (100, 200), (300, 350), (255,0,0), 2)
cv2.imwrite('result.jpg', im)
|
cs |
파란색의 화살표 있는 선이 잘 그려졌죠? 여기서 주의해야 할 것은 출발좌표와 종료좌표입니다. 출발좌표, 종료좌표는 (x, y)로 x축, y축을 그려놓고 생각하면 됩니다.
만약에 양방향으로 화살표가 있는 선을 그리고 싶으면 어떻게 해야할까요? 양방향 선을 그리는 함수는 opencv 라이브러리에 딱히 없는 것 같고, 단방향 선을 출발점과 종료점을 바꿔서 두 개 그려주는 꼼수를 사용하면 그릴 수 있습니다. 한 줄 더 추가해주되 출발점 좌료와 종료점 좌표를 바꿔준 것을 추가해주면 됩니다.
1
2
3
4
5
6
7
8
|
import cv2
im = cv2.imread('test.jpg')
cv2.arrowedLine(im, (100, 200), (300, 350), (255,0,0), 2)
cv2.arrowedLine(im, (300, 350), (100, 200), (255,0,0), 2)
cv2.imwrite('result.jpg', im)
|
cs |
양쪽 끝에 모두 화살표가 있는 선이 추가되었습니다.
'Dev > python' 카테고리의 다른 글
[python] print 함수 내에서 값들을 연결시킬 때 콤마(,)를 사용할 때와 덧셈(+)을 사용할 때의 차이 (0) | 2020.09.29 |
---|---|
[python] 웹캠 영상에서 검출된 얼굴들에 모자이크 효과 넣기 (10) | 2020.09.25 |
[python] (M, N, 3) 형태의 넘파이행렬을 (M*N, 3)으로 바꾸려면? (0) | 2020.09.23 |
[python] 채워진 사각형 그리는 방법, cv2.rectangle 함수 활용 (0) | 2020.09.10 |
[python] 사진에 카툰(cartoon) 효과주기, cv2.stylization 함수 (2) | 2020.09.09 |
[python+opencv] 이미지 회전시키기, cv2.rotate 함수 (2) | 2020.09.07 |
[python] 파이썬 set 집합 연산자 사용법 (0) | 2020.09.05 |
[python] 파이썬 IDLE 주석 처리 단축키(스파이더, 파이참, 코랩, vscode와 비교) (0) | 2020.09.04 |