๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
EX3 02) [OpenCV๋ก ๋ฐฐ์ฐ๋ C++์ ์์์ฒ๋ฆฌ] Point_ ํด๋์ค ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/Image Processing
EX3 02) [OpenCV๋ก ๋ฐฐ์ฐ๋ C++์ ์์์ฒ๋ฆฌ] Point_ ํด๋์ค
์ง์ง์ํ์นด 2023. 1. 1. 23:07728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ OpenCV๋ก ๋ฐฐ์ฐ๋ ์์์ฒ๋ฆฌ ๋ฐ ์์ฉ(์๋ฅ์ถํ์ฌ)์ ์์ ์ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
โญ Point_ ํด๋์ค
๊ฐ๋ก์ ์ธ๋ก์ ์์น๋ฅผ 2์ฐจ์ ์ขํ๋ก ๋ํ๋ด๊ธฐ ์ํ ํ ํ๋ฆฟ ํด๋์ค
๋ฉค๋ฒ ๋ณ์๋ก ๊ฐ๋ก์ ์ธ๋ก ์์น๋ฅผ ๋ํ๋ด๋ x, y
โ Point_() : ํด๋์ค ์์ฑ์
โญ OpenCV์ API
ํด๋น ํจ์๋ง๋ค ๊ทธ ํจ์๊ฐ ์ ์๋ ํค๋ ํ์ผ ํฌํจํด์ผ๋จ ( include )
#include "opencv2/opencv.hpp"
#include <opencv2/opencv.hpp>
int main() {
// Point_ ๊ฐ์ฒด ์ ์ธ ๋ฐฉ์
cv::Point_<int> pt1(100, 200);
cv::Point_<float> pt2(92.3f, 125.23f);
cv::Point_<double> pt3(100.2, 300.9);
// Point_ ๊ฐ์ฒด ๊ฐ๊ฒฐ ์ ์ธ ๋ฐฉ์ -> i, f, d
cv::Point2i pt4(120, 69);
cv::Point2f pt5(0.3f, 0.f), pt6(0.f, 04.f);
cv::Point2d pt7(0.25, 0.6);
// Point_ ๊ฐ์ฒด ์ฐ์ฐ
cv::Point pt8 = pt1 + (cv::Point)pt2;
cv::Point2f pt9 = pt6 * 3.14f;
cv::Point2d pt10 = (pt3 + (cv::Point2d)pt6) * 10;
// std::count : ๋ค์ํ ํด๋์ค์ ์์๋ฅผ ์ฝ๊ฒ ์ถ๋ ฅ
std::cout << "pt8 = " << pt8.x << ", " << pt8.y << std::endl;
std::cout << "[pt9] = " << pt9 << std::endl;
std::cout << (pt2 == pt6) << std::endl;
std::cout << "pt7๊ณผ pt8์ ๋ด์ : " << pt7.dot(pt8) << std::endl;
return 0;
}
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > Image Processing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments