1. 程式人生 > >【OpenCV】cv::Rect矩形類用法

【OpenCV】cv::Rect矩形類用法

  • cv::Rect矩形類用法
//如果建立一個Rect物件rect(100, 50, 50, 100),那麼rect會有以下幾個功能:  
rect.area();     //返回rect的面積 5000  
rect.size();     //返回rect的尺寸 [50 × 100]  
rect.tl();       //返回rect的左上頂點的座標 [100, 50]  
rect.br();       //返回rect的右下頂點的座標 [150, 150]  
rect.width();    //返回rect的寬度 50  
rect.height();   //返回rect的高度 100  
rect.contains(Point(x, y));  //返回布林變數,判斷rect是否包含Point(x, y)點  
  
//還可以求兩個矩形的交集和並集  
rect = rect1 & rect2;  
rect = rect1 | rect2;  
  
//還可以對矩形進行平移和縮放    
rect = rect + Point(-100, 100); //平移,也就是左上頂點的x座標-100,y座標+100  
rect = rect + Size(-100, 100);  //縮放,左上頂點不變,寬度-100,高度+100  
  
//還可以對矩形進行對比,返回布林變數  
rect1 == rect2;  
rect1 != rect2;  
  
//判斷rect1是否在rect2裡面
bool isInside(Rect rect1, Rect rect2)  
{  
    return (rect1 == (rect1&rect2));  
}  
  
//矩形中心點
Point getCenterPoint(Rect rect)  
{  
    Point cpt;  
    cpt.x = rect.x + cvRound(rect.width/2.0);  
    cpt.y = rect.y + cvRound(rect.height/2.0);  
    return cpt;  
}  
  
//圍繞矩形中心縮放  
Rect rectCenterScale(Rect rect, Size size)  
{  
    rect = rect + size;   
    Point pt;  
    pt.x = cvRound(size.width/2.0);  
    pt.y = cvRound(size.height/2.0);  
    return (rect-pt);  
} 
  • cv::Rect矩形類引數設定
typedef struct CvRect 
  { 
  int x; /* 方形的左上角的x-座標 */ 
  int y; /* 方形的左上角的y-座標*/ 
  int width; /* 寬 */ 
  int height; /* 高 */ 
  }

int x = 50;
int y = 50;
int width = 50;
int height = 50;
cv::Rect rect(x, y, width, height);

注意四個引數不是矩形的左上角和右下角的座標

相關推薦

OpenCVcv::Rect矩形用法

cv::Rect矩形類用法 //如果建立一個Rect物件rect(100, 50, 50, 100),那麼rect會有以下幾個功能: rect.area(); //返回rect的面

OpenCVRect矩形用法

在opencv\build\include\opencv2\core\types.hpp中可以檢視詳細的函式說明。 //如果建立一個Rect物件rect(100, 50, 50, 100),那麼rect會有以下幾個功能: rect.area();

OpenCV一些常用小彙總 (size等)

Backto OpenCV Index size OpenCV 中 size 直接給定數值的建構函式是 Size(double width, double height) 竟然不是和 Mat 一致的 (height, width), 簡直匪夷所思.

OpenCv 如何把圖片的矩形、多邊形區域內容置零

#include <iostream> #include <opencv2/opencv.hpp> #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" using namesp

OpenCVVideoCapture解析

VideoCaputre 是OpenCV 中用來從攝像頭或視訊檔案或影象序列 來 獲取/處理視訊的類. Class for video capturing from video files, image sequences or cameras. The c

Opencv繪製最小外接矩形、最小外接圓

Opencv繪製最小外接矩形、最小外接圓 Opencv中求點集的最小外結矩使用方法minAreaRect,求點集的最小外接圓使用方法minEnclosingCircle。 minAreaRect方法原型: RotatedRect minAreaRect( Input

OpenCV透視變換-將影象由不規則四邊形轉換成矩形

本文是在點選開啟連結基礎上修改而成的,感謝原文博主提供的參考。 程式碼宣告:近期在做身份證影象處理,由於採集問題,採集到的影象存在一定的角度偏差,成為了不規則的四邊形,通過透視變換可將其轉換成矩形,可以更好的進行分割。本文只提供相關函式和相關類。由於博主也是OpenCV新手

OpenCV3cv::Mat成員函式詳解

cv::Mat為OpenCV2和OpenCV3中最重要的類,可以毫不誇張得說,掌握了cv::Mat的操作,就掌握了OpenCV大半,這裡將詳細的介紹下cv::Mat類的成員函式及其使用。 1、clon

opencv矩形檢測

#include "cv.h" #include "highgui.h" #include <stdio.h> #include <math.h> #include <string.h> /////////////////

OpenCVcvLoadImage用法

Opencv學堂 http://mp.weixin.qq.com/s?__biz=MzA4MDExMDEyMw==&mid=100000109&idx=1&sn=7540b49e869c3e27f87c84f6f3dfe9a8&chksm

OpenCV查詢表用法以及LUT函式的使用

參考的三篇部落格的地址 簡單地說,查詢表就是通過建立一個table與源影象之間建立一個對映,可以使單通道,也可以是多通道,在定義將0~255的畫素對映成為不同的值後,通過查詢表的下標進行相應的賦值操作,例如table[127]=0 表示的就是將源影象中灰度值為1

bzoj1185HNOI2007最小矩形覆蓋

memory swap space data- blue 技術 set -m stream 1185: [HNOI2007]最小矩形覆蓋 Time Limit: 10 Sec Memory Limit: 162 MBSec Special Judge

JAVA關於java中 .class.getResource("/").getPath()獲取路徑有空格的問題

() 獲取路徑 return url fig net java.net nbsp 相關信息 寫了一個web工程,在本地測試正確,但是部署到服務器上就出現錯誤。原因是讀取不到配置文件。 後來從打印出來的文件路徑中發現是用Java的class.getResource("/").

Python面向對象--的特殊成員方法

運行 turn 中一 new 返回值 析構 school pytho comm 類的特殊成員方法 1. __doc__  表示類的描述信息 class Func(object): ‘‘‘__doc__方法是用來打印類的描述信息‘‘‘ def te

BZOJ2338[HNOI2011]數矩形 幾何

char 兩個 www. div 幾何 long 技術分享 cmp mil 【BZOJ2338】[HNOI2011]數矩形 題解:比較直觀的做法就是枚舉對角線,兩個對角線能構成矩形當且僅當它們的長度和中點相同,然後用到結論:n個點構成的矩形不超過n^2.5個(不會證)

鏈接偽(:hover)CSS背景圖片有閃動BUG

ref 重新 常用 底部 例如 ecc html 鏈接 cache 來源:http://www.css88.com/archives/744 -----------------------------------------------------------------

基礎ORACLE中substr的用法

itl .cn 字符串 ref art from 基礎 htm bst ORACLE中substr函數的簡單用法 substr(字符串,截取開始位置,截取長度) //返回截取的字 substr(‘Hello World‘,0,1) //返回結果為 ‘H‘ *從字符串第一

pythontime 和datetime型轉換,字符串型變量轉成日期型變量

-h with ptime 世紀 represent 字符串轉換 代碼 mes ear s1=‘20120125‘; 6 s2=‘20120216‘; 7 a=time.strptime(s1,‘%Y%m%d‘); 8 b=time.st

OpenCVimread讀取數據為空

依賴 技術分享 分享 bug features 附加 分開 什麽 ont 直接加配置好的props文件到新的工程時,會出現imread讀出來的Mat為空的情形,搜了一下,發現是opencv的配置問題!!! 是這樣的,之前配置時為了省事兒,無論是Debug還是Release中

opencvJava實現的opencv3.x版本後Highhui報錯

-a sun div fan let 版本 ava line 報錯 隨筆為博主原創,如需轉載,請註明出處。 opencv3.x以後Highgui不再使用,用Imgcodecs代替,引入import org.opencv.imgcodecs.Imgcode