OpenCV中基本資料結構 3 Size

2021-10-02 10:20:59 字數 2956 閱讀 5179

size資料結構經常被opencv用來表示尺寸,其成員為width和height,被用來表示矩陣或者的寬和高。

size預定義個幾個型別有:

size2i:整型int

size2l:int64

size2f:float

size2d:double

源**如下:

最後都是使用的 size_類

size_類和point_,scalar_類相似,相對mat比較簡單:

總體使用方法如下:

method

description

預設建構函式

cv::size sz;

cv::size2i szi;

cv::size2l szl;

cv::size2f szf;

cv::size2d szd;

copy建構函式

size_(const size_& sz)

cv::size sz2(sz);

帶引數建構函式

size_(_tp _width, _tp _height)

_width:寬度

_height:高度

cv::size sz3(4,6)

成員:_tp width; 

_tp height

width:寬度

height:高度

area:計算面積(width*height)

_tp area()

返回值為(width*height)

aspectratio:計算斜率(width/height)

double aspectratio()

返回值為double :(width/height)(4.0以上版本新新增)

empty :是否為空

bool empty()

true: width <= 0或height <= 0

false:width>0 && height > 0

用例:

#include #include "opencv2/opencv.hpp"

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;

using namespace std;

void main(){

size sz;

size2i szi;

size2l szl;

size2f szf;

size2d szd;

cout << "sz.empty=:" << sz.empty() << endl;

cout << "szi.empty=:" << szi.empty() << endl;

cout << "szl.empty=:" << szl.empty() << endl;

size sz2(200, 300);

size2i szi2(300, 300);

cout << "sz2=:" << sz2 執行結果:

size_類通過operator重構的操作有:

operator

method

=templateinline

size_<_tp>& size_<_tp>::operator = (const size_<_tp>& sz)

templateinline

size_<_tp>& size_<_tp>::operator = (size_<_tp>&& sz)

*=templatestatic inline

size_<_tp>& operator *= (size_<_tp>& a, _tp b)

*templatestatic inline

size_<_tp> operator * (const size_<_tp>& a, _tp b)

/=templatestatic inline

size_<_tp>& operator /= (size_<_tp>& a, _tp b)

/templatestatic inline

size_<_tp> operator / (const size_<_tp>& a, _tp b)

+=templatestatic inline

size_<_tp>& operator += (size_<_tp>& a, const size_<_tp>& b)

+templatestatic inline

size_<_tp> operator + (const size_<_tp>& a, const size_<_tp>& b)

-=templatestatic inline

size_<_tp>& operator -= (size_<_tp>& a, const size_<_tp>& b)

-templatestatic inline

size_<_tp> operator - (const size_<_tp>& a, const size_<_tp>& b)

==templatestatic inline

bool operator == (const size_<_tp>& a, const size_<_tp>& b)

!=templatestatic inline

bool operator != (const size_<_tp>& a, const size_<_tp>& b)

opencv基本資料結構

iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...

OpenCV中的基本資料結構

最近在靜下心來梳理乙份視覺 把當初直接用上但是卻沒仔細咀嚼的東西拿出來整理一下。其實靜下心來做些事情真的不容易,時常被各種雜事打斷,anyway,想辦法保持短時間專注還是必要的。point資料結構表示二維影象中的點,由影象座標x和y組成。用法 point mypoint mypoint.x 100 ...

opencv的基本資料結構

vec scalar point size rect rotatedrectvec類 1.1 基本概念 vec是乙個模板類,主要用於儲存數值向量。1.2 用法 1 可用它來定義任意型別的向量 vecmyvector 定義乙個存放8個double型變數的向量 2 使用 訪問vec向量成員 myvect...