如何使用 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