如何使用 C++ 中的 OpenCV 处理感兴趣区域 (ROI)?
若要将图像的特定部分分离出来,我们首先必须定位该区域。然后,我们必须将该区域从主图像复制到另一个矩阵。这就是 OpenCV 中 ROI 的工作原理。
在此示例中,两个矩阵已在开头声明。之后,将名为“image_name.jpg”的图像加载到“image1”矩阵中。下一行“image2=image1 (Rect(100, 100, 120, 120));”需要特别注意。此行剪切出图像的已定义区域并将其存储在“image2”矩阵中。

该图显示了我们在此使用“Rect(100,100,120,120)”代码所做的工作。此代码行的基本形式为“Rect(x, y,x1,y1)”。其中,x 和 y 定义矩形的起点,而 x1 和 y1 表示矩形的终点。通过更改这些值,我们可以更改矩形的大小。
示例
以下程序演示了 OpenCV 中感兴趣区域的工作原理
#include
#include
#include
using namespace std;
using namespace cv;
int main() {
Mat image1; //Declaring a matrix named 'image1'//
Mat image2; //Declaring a matrix named 'image2'//
image1 = imread("RGB.png"); //Loading an image name 'image_name.png into image1 matrix//
image2 = image1(Rect(100, 100, 120, 120)); //imposing a rectangle on
image1//
namedWindow("Image_Window1"); //Declaring an window to show actual image//
namedWindow("Image_Window2"); //Declaring an window to show ROI//
imshow("Image_Window1", image1); //Showing actual image//
imshow("Image_Window2", image2);
waitKey(0);
return 0;
}输出
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
Javascript
PHP