Rect 클래스.. 뭔가 Rectangle 이 느껴지지않아요??ㅋㅋㅋ 나만그런가 ㅋㅋ 암튼! 사각형을 표현하는 함수에용~~~

이거도 사칙연산이 된다구 하네요. Rect클래스 안에 많은 함수가 포함되어있지만 여기서 다루기엔 좀 급한감이 있고 필요할때마다 배우면서 사용해도 될거 같아서 일단은 대략적인 설명만 해둘게요~


소스 ㄱㄱ


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main(void)
{
    Rect rt1(100100320240);
    cout << "rt1: (" << rt1.x << "," << rt1.y << "," << rt1.width << "," << rt1.height << ")" << endl;
 
    cout << "rt1:" << rt1 << endl;
 
    Mat img(600800, CV_8UC3);
    namedWindow("img", WINDOW_AUTOSIZE);
    rectangle(img, rt1, Scalar(25500), 2);
    imshow("img", img);
    waitKey(); 
    return 0;
}
cs



결과?





아주잘나오네요~~ 일단 소스를 설명하자면

Rect rt1(100, 100, 320, 240);

요건 왼쪽위가 100,100 이라는 소리이고 100,100 으로부터 가로가 320 세로가 240 이라는 소리입니당! x,y좌표(앞에 100,100) 생각하시면 될듯해요!


cout << "rt1:" << rt1 << endl;

여기서 나온 결과처럼 320 x 240 from 100,100 => 100,100 에서 320 x 240 사이즈의 크기를 가지고있는 커다란 구조체이죠.



Mat img(600, 800, CV_8UC3);

이게 무엇이냐! Mat행렬이라는 함수인데 뒤에가면 조금더 자세히알려드리니 걱정마시고 그냥보시기만!!!

600x800짜리 창을 하나 만들겠다는 소리에요. 뒤에 CV_8UC3은 상수인데 opencv에서 그냥 정해둔듯!


rectangle(img, rt1, Scalar(255, 0, 0), 2);

rectangle함수인데 여기서 img에 rt1으로 정의된 사각형을 scalar(255,0,0)의 색으로 두께는 2만큼인 사각형을 그려놓으란 소리에요


그래서 imshow함수로 자료형이 Mat인 img 를 출력해줘서 저렇게 파란 사각형이 뜨게 되는것이구요.ㅎㅎ

참고로 scalar(255,0,0)은 bgr순서로 맨앞이 blue 중간이 green 마지막이 red인것 같아요!


그리고 waitKey() ..-> 사용자의 키를 입력받기를 기다리는거죠

입력받으면 바로꺼짐!

무튼~~ Rect_클래스에 대해서 대략적으로 알아보는 시간이었습니다!!!! 다음엔~~Scalar 클래스에대해서 알아보겠습니다!!@@@@@




 

'OpenCV' 카테고리의 다른 글

Mat_ 클래스  (0) 2016.12.07
Scalar_ 클래스  (0) 2016.12.07
Size_ 클래스  (0) 2016.12.07
Point3_ 클래스  (0) 2016.12.07
Point_ 클래스  (0) 2016.05.07

+ Recent posts