๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
EX3 05) [OpenCV๋ก ๋ฐฐ์ฐ๋ C++์ ์์์ฒ๋ฆฌ] Rect_ ํด๋์ค ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/Image Processing
EX3 05) [OpenCV๋ก ๋ฐฐ์ฐ๋ C++์ ์์์ฒ๋ฆฌ] Rect_ ํด๋์ค
์ง์ง์ํ์นด 2023. 1. 11. 23:43728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ OpenCV๋ก ๋ฐฐ์ฐ๋ ์์์ฒ๋ฆฌ ๋ฐ ์์ฉ(์๋ฅ์ถํ์ฌ)์ ์์ ์ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
โญ Rect_ ํด๋์ค
2์ฐจ์์ ์ฌ๊ฐํ ์ ๋ณด๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ํ ํ๋ฆฟ ํด๋์ค
๋ฉค๋ฒ ๋ณ์๋ก ์๊ฐ ์ขํ(x, y)์ ํฌ๊ธฐ(width, height) ์ ๋ณด ํฌํจ
์ฌ๊ฐํ์ ์ ์ํ ์ ์๋ ์ ๋ณด๋ก, ๊ฐ์ฒด๋ฅผ ์ ์ธ
// Rect ํด๋์ค
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main() {
Size2d sz(100.5, 60.6);
Point2f pt1(20.f, 30.f), pt2(100.f, 200.f);
Size_<double> sz3(100.2, 300.9);
// Rect_ ๊ฐ์ฒด ๊ธฐ๋ณธ ์ ์ธ ๋ฐฉ์
Rect_<int> rect1(10, 10, 30, 50);
Rect_<float> rect2(pt1, pt2);
Rect_<double> rect3(Point2d(20.5, 10), sz);
// Size_ ๊ฐ์ฒด ๊ฐ๊ฒฐ ์ ์ธ ๋ฐฉ์ -> i, f, d
Rect rect4 = rect1 + (Point)pt1;
Rect2f rect5 = rect2 + (Size2f)sz;
Rect2d rect6 = rect1 & (Rect)rect2;
cout << "rect3 = " << rect3.x << ", " << rect3.y << ", ";
cout << rect3.width << "x" << rect3.height << endl;
cout << "rect4 = " << rect4.tl() << " " << rect4.br() << endl;
cout << "rect5 ํฌ๊ธฐ = " << rect5.size() << endl;
cout << "[rect6] = " << rect6 << endl;
return 0;
}
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > Image Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments