분류 전체보기 130

[OpenCV] Mat 이미지 자르기

이론만 쭉 정리하다가 이제 실제로 필요한 것들만 찾아서 정리 하기로 했다. 내가 필요한거슨 이미지의 특정 부분만 사용할 것이라 잘라내는 과정이 필요했다. Mat을 Range로 범위를 지정할 수 있으므로 row와 col을 원하는 만큼 가져와서 출력해 보자. 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { int offset, width, margin; offset = 50; width = 50; margin = 5; Mat img = imread("Img4.png",IMREAD_GRAYSCALE); cout

ETC/OpenCV 2016.10.21

[OpenCV] Mat 클래스 행렬 생성 1

Mat 클래스는 C++ API에서 가장 중요한 클래스 중 하나로 1채널 또는 다채널의 실수, 복소수, 행렬, 영상 등의 수치 데이터를 표현하는 n차원 행렬 클래스이다. 행렬 생성Mat 클래스는 다양한 생성자를 통하여 행렬을 생성한다.행렬의 크기는 rows, cols, size로 명시type은 자료형으로 CV_8UC1 ... CV_32FC1 ... 등을 사용 한다.생성자를 다 써 놓는것보다 예제를 통해서.. 알아보자. 행렬 생성 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { Mat A(2,3,CV_8UC1); Mat B(2,3,CV_8UC1, Scalar(0)); Mat C(2,3,CV_8UC3, ..

ETC/OpenCV 2016.10.20

[OpenCV] Vec 클래스

Vec 클래스는 Matx 클래스에서 상속받은 클래스로, 짧은 수치 벡터를 위한 템플릿 클래스.기본적인 벡터에서의 연산이 가능하며 3차원 벡터의 외적을 계산할 수 있고, [] 연산자에 의해 접근하며,Vec 와 Point_, Vec와 Point_, Vec와 Scalar_,CvScalar 사이의 변환이 가능typedef 로 정의된 Vec2b, Vec3b 등의 클래스들이 있다. 솔직히 Vec부터는 수학적의미가.. 조금 더 깊어져서 잘 이해가 되지 않는다.수학공부를 해야 겄네;; 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { Vec X(1,0,0); //Vec3f X(1,0,0); Vec Y(0,1,0);..

ETC/OpenCV 2016.10.19

[OpenCV] RotatedRect 클래스

RotatedRect는 회전된 사각형을 표현하는 클래스멤버 변수는 중심점이 Point2f 자료형의 center와 크기인 Size2f 자료형의 size 그리고 회전각을 나타내는 float 자료형의 angle이 있다.boundingRect()등의 메서드가 있고, C API 의 CvBox2D 구조체와 호환 가능하다. 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main() { Point2f ptCenter(200.0f, 200.0f); Size size(100,200); RotatedRect rt1(ptCenter, size, 135.0f); Point2f points[4]; rt1.points(points); Re..

ETC/OpenCV 2016.10.19

[OpenCV] Rect_ 클래스

Rect_ 는 사각형을 표현하는 템플릿 클래스이다. 멤버 변수는 x,y, width, height 가 있고tl(), br(), size(), area(), contains() 등의 메서드가 있다.typedef로 정수형에 대한 Rect 자료형이 정의 되어 있고, =, +, -, *, ==, !- 등의 연산자를 사용할 수 있다. typedef Rect_ Rect; 예제 #include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main(){ Rect rt1(100,100,320,240), rt2(200,200,320,240); Point pt1(100,100); Size size(100,100); Rect rt3 = rt1 +pt1;..

ETC/OpenCV 2016.10.19