반응형

ROI를 선택해 보자.

 

#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
	cv::Mat image = cv::imread("palvin1.png");
	cv::Mat roi;	
	
	cv::Rect rect = cv::selectROI("image", image);
	std::cout << "Selected rectangle: " << rect << std::endl;
	image = image(rect);

	cv::imshow("Selected Region", image);
	cv::waitKey(0);
	cv::destroyAllWindows();

	return 0;
}

 

 

 

 

이번엔 여러 개의 관심 영역을 선택해 보자.

#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
	cv::Mat image = cv::imread("palvin1.png");
	cv::Mat roi;

	std::vector<cv::Rect> rects;
	cv::selectROIs("image", image, rects);
	// roi 영역을 선택하면 선택된 roi 영역이 rects 벡터에 저장됨.
	// 하나의 roi 영역을 선택하고 space or enter 키를 누르면 선택이
	// 완료되고 다음 roi 영역을 선택할 수 있음.
	// 선택한 영역을 취소하려면 c 키를 누르면 됨.
	// 모든 선택이 완료되면 esc 키를 눌러 선택을 종료할 수 있음.

	for (const cv::Rect& rect : rects) {
		std::cout << "Selected rectangle: " << rect << std::endl;
		roi = image(rect);
		cv::imshow("ROI", roi);
		cv::waitKey(0);
	}

	cv::destroyAllWindows();

	return 0;

 

 

 

 

 

 

 

 

 

※ 참고

2026.03.11 - [OpenCV] - [OpenCV] Polygon Mask 폴리곤 마스크 1

2026.03.11 - [OpenCV] - [OpenCV] Polygon Mask 폴리곤 마스크 2

 

반응형
Posted by J-sean
: