이미지 내에 화살표가 있는 선을 그리고 싶을 때는 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 |
양쪽 끝에 모두 화살표가 있는 선이 추가되었습니다.
728x90
'코딩 > python + 컴퓨터비전' 카테고리의 다른 글
[python] 어떤 디렉토리 내 존재하는 모든 이미지 파일들의 경로 리스트 만들기 (0) | 2021.01.08 |
---|---|
[python] 쉽고 간단하게 마스크 착용 유무 판별기 만들기 (4) | 2021.01.07 |
[python] 웹캠 영상에서 검출된 얼굴들에 모자이크 효과 넣기 (4) | 2020.09.25 |
[python] 채워진 사각형 그리는 방법, cv2.rectangle 함수 활용 (0) | 2020.09.10 |
[python] 단방향 또는 양방향으로 화살표 있는 선 그리기, cv2.arrowedLine 함수 활용 (0) | 2020.09.09 |
[python] 사진에 카툰(cartoon) 효과주기, cv2.stylization 함수 (2) | 2020.09.09 |
[python] 이미지 회전시키기, cv2.rotate 함수 (0) | 2020.09.07 |
[python] 데이터셋 내 이미지들의 이름이 0000001.bmp, 0000002.bmp,..., 0001000.bmp일 때 순차적으로 읽는 방법 (0) | 2020.08.25 |
[python] GBVS로 visual saliency 맵 산출하기 (0) | 2020.08.22 |