先貼一段簡單的**;
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include
using
namespace
std;
using
namespace cv;
int main(int,char**)
生成結果:
1、定義和輸出二維點:
point2f p(2,3);
2、定義和輸出三維點
point3f p(2,3,4);
3、定義和輸出基於mat的std::vector
vector v;
v.push_back(3);
v.push_back(5);
4、定義和輸出std::vector點
以存放二維點point2f為例:
vector point(20);
for (size_t i=0;i< points.size();i++)
point[i]=point2f((float) (i*5),(float)(i%7));
cout << 「【二維點向量】points = 」 << points<
5、點的表示point類
typedef point_< int> point2i ;
typedef point2i point ;
typedef point_< float> point2f ;
point_< int> 、 point2i 、point相互等價;point_< float>、point2f相互等價;
6、顏色的表示scalar類
scalar( )表示具有4個元素的陣列,在opencv被大量用於傳遞畫素值,如rgb的畫素值;
scalar(a,b,c) 紅色分量代表c,綠色部分代表b,藍色部分代表a;
7、矩形的表示:rect類
rect類的成員變數有 x、y、width、height,分別表示左上角點的座標和矩形的寬與高。
常用的成員函式有:size( )返回值為 size;area( )返回矩形的面積;contains(point)判斷點是否在矩形內;inside(rect)函式判斷矩形是否在該矩形內;tl( )返回左上角點座標;br( )返回右下角點座標。
8、顏色空間轉換:cvtcolor( )函式
cvtcolor()函式時顏色空間轉換函式,能夠完成rgb、hsv、hsi等顏色空間的轉換;也可以轉換為灰度圖gray;
eg:cvtcolor(srcimage,dstimage,color_gray2bgr);
9、基本圖形的繪製
1)用於繪製直線的line函式;
2)用於繪製橢圓形ellpse函式;
3)用於繪製矩形rectangle函式;
4)用於繪製圓的circle函式;
5)用於繪製填充的多邊形的fillpoly函式;
再次貼一段淺墨大神的原創**;
#include
#include
using
namespace cv;
//此程式對於opencv3版需要額外包含標頭檔案:
#include
#define window_name1 "【繪製圖1】" //為視窗標題定義的巨集
#define window_name2 "【繪製圖2】" //為視窗標題定義的巨集
#define window_width 600 //定義視窗大小的巨集
//--------------------------------【全域性函式宣告部分】-------------------------------------
void drawellipse( mat img, double angle );//繪製橢圓
void drawfilledcircle( mat img, point center );//繪製圓
void drawpolygon( mat img );//繪製多邊形
void drawline( mat img, point start, point end );//繪製線段
//---------------------------------------【main( )函式】--------------------------------------
int main( void )
//-------------------------------【drawellipse( )函式】--------------------------------
void drawellipse( mat img, double angle )
//-----------------------------------【drawfilledcircle( )函式】---------------------------
void drawfilledcircle( mat img, point center )
void drawpolygon( mat img )
; int npt = ;
fillpoly( img,
ppt,
npt,
1,scalar( 255, 255, 255 ),
linetype );
}void drawline( mat img, point start, point end )
opencv九 opencv基本資料類
1.固定向量類cv vec 最直接的基本資料型別是模板類cv vec 這是乙個用於原語的容器類,我們將其稱為固定向量類。為什麼不直接使用stl類呢?關鍵的區別在於,固定向量類是為在編譯時已知維數的小向量設計的。這就允許使用特別高效的 來處理小的常見操作。在實踐中,small 的意思是,如果您有多個元...
OpenCV學習筆記 基本資料型別
1.彩色影象通常有紅 綠 藍三個構成成分,但opencv以逆序,即藍 綠 紅來儲存著三個分量,還可以使用第四個透明度 alpha 通道。2.使用img.channels 獲取一幅img影象的通道數。3.使用img.depth 獲取衣服img影象深度。4.使用函式convertto講義中影象深度轉換為...
OpenCV基本資料型別
point cpp view plain copy typedef point int point2i typedef point2i point typedef point float point2f typedef point double point2d point3 cpp view pla...