#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
#define WINDOW_NAME "[选择ROI]"
//声明存储图像的变量
Mat g_srcImage;
/////函数///////
/////main()函数//////
int main(int argc, char ** argv)
{
//加载图像
g_srcImage = imread("1.png");
if (!g_srcImage.data) { printf("读取第一幅图片错误,请确定目录下是否有imread函数指定图片存在~! \n"); }
//设置ROI区域 从点(250,250)为左上角,250宽,250长
Rect rect(250,250,250,250);
//在原图上画出ROI
rectangle(g_srcImage,rect,Scalar(0,255,255),2,8);
//
Mat imageROI = g_srcImage(rect);
namedWindow(WINDOW_NAME, CV_WINDOW_AUTOSIZE);
//原图长宽
printf("width %d\nheigth %d\n", g_srcImage.cols, g_srcImage.rows);
//ROI长宽
printf("ROIwidth %d\nROIheigth %d\n",rect.width,rect.height);
//原图上显示ROI
imshow(WINDOW_NAME,g_srcImage);
//单独窗口显示ROI
imshow("ROI", imageROI);
waitKey(0);
return 0;
}
opencv 图片上进行ROI选择
最新推荐文章于 2025-10-31 20:38:26 发布
本文通过一个具体的示例展示了如何使用OpenCV库在C++中选取图像的感兴趣区域(ROI),包括加载图像、定义ROI区域、绘制边界框,并分别显示原始图像及ROI图像。
4194

被折叠的 条评论
为什么被折叠?



