OpenCV 高级图形用户界面 (13) 选择图像的矩形区域 函数 selectROI 的使用 - 代码示例
最编程
2024-10-17 09:03:08
...
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
// 加载图像
cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/hawk.jpg", cv::IMREAD_COLOR );
if ( img.empty() )
{
std::cerr << "Error: Image not found!" << std::endl;
return -1;
}
// 创建窗口
std::string winname = "Select ROI";
cv::namedWindow( winname, cv::WINDOW_NORMAL );
// 显示图像
cv::imshow( winname, img );
// 选择 ROI
cv::Rect roi = cv::selectROI( winname, img, false, false );
// 打印所选区域的信息
std::cout << "Selected ROI: " << roi << std::endl;
// 在原图上画出所选区域的边界框
cv::rectangle( img, roi, cv::Scalar( 0, 255, 0 ), 2 );
// 显示带有边界框的图像
cv::imshow( winname, img );
cv::waitKey( 0 );
// 关闭所有窗口
cv::destroyAllWindows();
return 0;
}