基于opencv的感兴趣区域ROI的操作

本文详细介绍了在图像处理中如何设置感兴趣区域(ROI),并利用OpenCV库实现ROI区域图像的叠加操作。包括使用Rect类指定感兴趣区域,以及如何在不使用图像掩码和使用掩码两种情况下实现小图标复制到大图像指定位置的功能。同时,提供了三种不同的实现方法,以及最终生成的图像效果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章主要对感兴趣区域ROI的操作(对于ROI区域图像叠加)说明


在图像处理的领域,我们常常需要去设置自己感兴趣的区域(ROI,region of interest),来专注或者简化工作过程。也就是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。我们圈定这个区域,以便进行下一步的处理.而且,使用ROI指定想读入的目标,可以减少处理时间,增加精度,给图像处理带来不小的便利。


利用opencv库进行编程实现对感兴趣区域ROI的操作

例如:将小图标复制到大图像的指定位置中

使用到的函数:矩形的表示:Rect类----》Rect(x,y,width,heigh)

对Rect类的解释:Rect类的成员变量有x、y、width、height,分别在左上角点的坐标和矩形的宽和高。


上述例题,第一种实现方法:在不使用图像掩码(掩膜)的情况下,通过Rect类去实现

#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;

int main()
{
 Mat srcImage = imread("dota_pa.jpg");//读取大图像
 Mat logoImage = imread("dota_logo.jpg");//读取logo图标

 //判断大图像文件是否存在
 if (!srcImage.data)
 {
  cout << "读取srcImage数据由错误~!" << en

### 使用 OpenCV 截取图像的 ROI 区域 在计算机视觉应用中,经常需要处理图像中的特定部分而不是整张图片。这部分被称为感兴趣区域(Region Of Interest, ROI)。利用 OpenCV 可以方便地实现这一操作。 对于给定的一幅图像 `img`,可以通过指定坐标来定义矩形边界内的子集作为新的ROI区域[^3]: ```python import cv2 # 加载原始图像 image = cv2.imread('path_to_image.jpg') # 定义ROI的位置参数(top_left_x, top_left_y),以及宽度height和高度width top_left_x, top_left_y = 100, 50 bottom_right_x, bottom_right_y = 400, 350 # 提取ROI roi_area = image[top_left_y:bottom_right_y, top_left_x:bottom_right_x] # 显示结果 cv2.imshow('Original Image', image) cv2.imshow('Extracted ROI Area', roi_area) cv2.waitKey(0) cv2.destroyAllWindows() ``` 上述代码片段展示了如何基于像素位置选取感兴趣的矩形区域并将其展示出来。这里需要注意的是,在索引数组时采用的形式是 `[y_start:y_end,x_start:x_end]` 而不是直觉上的 `(x,y)` 坐标系顺序。 当涉及到更复杂的形状或颜色范围的选择时,可以先创建掩码(Mask),再通过逻辑运算符将此掩码应用于源图像从而获得所需的ROI。例如,为了从HSV色彩空间内筛选出红色物体所在的区域[^1]: ```python hsv_img = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) lower_red = (156, 43, 46) upper_red = (180, 255, 255) mask = cv2.inRange(hsv_img, lower_red, upper_red) red_roi = cv2.bitwise_and(image, image, mask=mask) cv2.imshow("Red Object Region", red_roi) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这段脚本会转换输入图像到HSV模式,并设置阈值区间用于识别红色成分;之后构建二值化掩模并通过按位与操作保留符合条件的部分形成最终的结果图象。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值