C# OpenCV 강좌 : 제 17강 - 그리기
그리기(Drawing)
영상이나 이미지 위에 그래픽
을 그리기 위해 사용합니다. 선, 원, 사각형
등을 그릴 수 있습니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
-
영상 사용하기
: 3강 바로가기 -
이미지 사용하기
: 4강 바로가기 -
Tip :
src = new IplImage(Cv.Size(640, 480), BitDepth.U8, 3);
을 사용하면 검은 화면으로 그릴 수 있습니다.
클래스 코드
세부 코드
Cv.Copy()
를 이용하여 원본을 복사
해 작업할 공간을 새로 만듭니다. Cv.Copy(원본, 결과)
입니다.
Line
Cv.DrawLine()
를 이용하여 선
을 그립니다.
Cv.DrawLine(원본, x1, y1, x2, y2, 색상, 두께)
입니다.
또는 Cv.DrawLine(원본, new CvPoint(x1, y1), new CvPoint(x2, y2), new CvColor(R, G, B), 두께)
입니다.
(x1, y1)은 시작점
, (x2, y2) 도착점
입니다.
-
Tip :
생성자 new
를 이용하여CvPoint()
등을 선언해야 합니다. -
Tip :
new CvColor()
는R ,G, B
값을 이용합니다. 범위는0 ~ 255
입니다.
Circle
Cv.DrawCircle()
를 이용하여 원
을 그립니다.
Cv.Cricle(원본, x, y, 반지름, 색상, 두께)
입니다.
또는 Cv.DrawCircle(원본, new CvPoint(x, y), new CvColor(R, G, B), 두께)
입니다.
(x, y)는 중심점
입니다.
- Tip : 두께를
-1
로 할 경우 내부가 채워집니다.
rectangle
Cv.DrawRect()
를 이용하여 사각형
을 그립니다.
Cv.DrawRect(원본, x1, y1, x2, y2, 색상, 두께)
입니다.
또는 Cv.DrawRect(원본, new CvPoint(x1, y1), new CvPoint(x2, y2), new CvColor(R, G, B), 두께)
입니다.
(x1, y1)은 시작점
, (x2, y2) 도착점
입니다.
- Tip : 두께를
-1
로 할 경우 내부가 채워집니다.
Ellipse / Arc
Cv.DrawEllipse()
를 이용하여 타원
또는 호
을 그립니다.
Cv.DrawEllipse(원본, new CvPoint(x, y), new CvSize(width, height), 기준각도, 시작각도, 종료각도, 색상)
입니다.
(x, y)는 중심점
입니다.
-
Tip : 각도의 범위는
0 ~ 360
입니다.0°는 3시 방향
으로반시계방향(CCW)으로 각도가 커집니다.
-
Tip : 기준각도를 기준으로 회전하여 시작각도가 선정됩니다. 기준각도 0°에 시작각도 90° 라면
6시 방향이 시작각도
가 됩니다.
Text
Cv.PutText()
를 이용하여 글
을 그립니다.
Cv.PutText(원본, new CvPoint(x, y), new CvFont(FontFace.*, hscale, vscale), 색상)
입니다.
(x, y)
는 글자의 좌측 아래가 기준점
입니다.
-
Tip : FontFace는
글자모양
을 의미합니다. -
Tip :
hscale
,vscale
을 이용하여 글자의크기
를 설정합니다.
메인 코드
DrawingImage()
은 임의로 그려낸 이미지
를 표시합니다.
댓글 남기기