posted by 심재형 2017. 11. 11. 00:35

#include "opencv.hpp"

using namespace cv;

using namespace std;

int main()

{

Mat A(10, 10, CV_32F);

for (int i = 0; i < A.rows; i++)

for (int j = 0; j < A.cols; j++)

A.at<float>(i, j) = (float)(i*A.cols + j);

cout << "A=" << A.size() << "=" << A << endl;


Mat B = A(Range(5, 8), Range(3, 6));

cout << "B=" << B.size() << "=" << B << endl;


Size wholeSize; Point ofs;

B.locateROI(wholeSize, ofs);

cout << "wholeSize=" << wholeSize << "ofs=" << ofs << endl;


Mat C = B.adjustROI(1, 1, 1, 1);

cout << "B=" << B.size() << "B=" << B << endl;

cout << "C=" << C.size() << "C=" << C << endl;

return 0;

}


#include <opencv\cv.h>

#include <opencv\highgui.h>


using namespace cv;

using namespace std;


int main(){


// 이미지 불러오기 (read image).

Mat image = imread("image.jpg");


// 에러 처리 (error).

if ( !image.data ) {

return -1;

}


// 관심영역 설정 (set ROI (X, Y, W, H)).

Rect rect(100, 30, 150, 300);


// 관심영역 자르기 (Crop ROI).

Mat subImage = image(rect);


// show

imshow("image", subImage);


waitKey(0);


return 0;

}



#다른방법


#include "opencv.hpp"

using namespace cv;

using namespace std;

int main()

{

Mat_<uchar> A(10, 10);

for (int i = 0; i < A.rows; i++)

for (int j = 0; j < A.cols; j++)

A(i, j) = (uchar)(i*A.cols + j);

cout << "A = " << A << endl;


Mat_<uchar> B = A(Range(5, 8), Range(3, 6));

cout << "B = " << B << endl;


Mat_<uchar> C = B.adjustROI(1, 1, 1, 1);

cout << "B = " << B << endl;

cout << "C = " << C << endl;


Mat D = A(Rect(0, 0, 5, 5));

cout << "D = " << D << endl;


Range ranges[2] = { Range(5, 8), Range(3, 6) };

Mat E = A(ranges);

cout << "E = " << E << endl;

return 0;

}

'OpenCV' 카테고리의 다른 글

윤곽선 그리기 - DrawContours  (0) 2017.11.15
윤곽선 정보 찾기 - findContours  (0) 2017.11.15
블러함수들  (0) 2017.11.11
merge, split 함수  (0) 2017.11.11
inrange 이진화 영상  (0) 2017.11.11