注
matlab style plot functions for opencv
author libing64 && jack dong
原**位址 :
功能預覽:
中間是圖表的標題(只支援英文,中文會亂碼),xy軸兩端的紅色數字表示輸入資料xy的最小最大值,青色是xy軸的資料的意義的標示(同樣只支援英文,顏色可自定義),xy軸刻度線自動生成。可以選擇不同的形狀來表示點(支援多種線型,多種顏色,可選擇點雨點之間是否用直線連線)。
這個標頭檔案中包含了兩個類,cplot
和plot
,plot繼承自cplot,兩個類都是實現的一樣的功能,不同的地方在於cplot提供c
風格opencv1.x
引數和返回值,而plot提供c++
風格opencv2.x
引數的支援。比較而言,plot比cplot使用更簡單。
引數設定:
public:
double y_max; //預設為輸入資料y的最大值
double y_min;
double x_max;
double x_min;
int border_size; //邊界大小 預設為40個畫素大小
這幾個引數可手動設定,但如果你設定的引數不合適那麼還是會使用預設引數。
public:
cvscalar backgroud_color; //背景預設白色
cvscalar axis_color; //座標軸及刻度顏色預設為黑色
cvscalar text_color; //座標上表示最大最小值的標籤的顏色預設為紅色
預設的輸出的圖表的大小由巨集定義給出:
#define window_width 800
#define window_height 800
以上引數如果要自定義必須在呼叫plot方法之前設定好。
public:
void
title(string title_name,cvscalar title_color);
void xlabel(string xlabel_name, cvscalar label_color);
void ylabel(string ylabel_name, cvscalar label_color);
設定標題和xy軸意義的標籤,這些標籤都不支援中文,只支援英文。有解決中亂碼的方法,但是太過複雜。
public:
//兩種輸入xy軸資料的方式
template
void
plot(t *y, size_t cnt, cvscalar color, char type = '*',bool is_need_lined = true);
templatevoid plot(t *x, t *y, size_t cnt, cvscalar color, char type = '*',bool is_need_lined = true);
這兩個方法都由泛型實現,方便傳入不同型別的引數,第乙個方法沒有x軸的資料那麼x軸預設是從0 開始的整數(0,1,2,3…)。引數的含義分別為 x軸資料陣列;y軸資料陣列;陣列的長度;畫線的顏色;畫線的型別(預設為『*』);點與點之間是否用直線連線(預設為true連線);
關於畫線的型別,支援以下線形:
//l (小寫) 直線
//* 星
//. 點
//o(小寫) 圈
//x(小寫) 叉
//+ 十字
//s(小寫) 方塊
如果需要在同一張圖上畫出多張曲線,只需要多次呼叫plot方法,每次呼叫plot方法的時候物件會把資料儲存起來,如果想清除先前儲存的資料,可以呼叫下面的clear()方法:
public:
//清空上的資料
void
clear();
public:
iplimage* figure;
plot方法不會直接返回結果,會把結果影象存在figure
這個成員當中(防止多次申請和釋放記憶體),在呼叫plot方法後,直接訪問figure成員即可獲得結果。
plot的使用相比較cplot來說,只是有兩個地方不同,plot方法和 獲得結果影象。
public:
//過載這兩個函式 傳參簡單
template
void plot( vector
y,cvscalar color, char type = '*',bool is_need_lined = true);
template
void plot(vector
< point_ > p,cvscalar color, char type = '*',bool is_need_lined = true);
//增加乙個函式把c版本的 iplimage 轉換成mat
mat figure()
在給plot傳xy資料的時候直接傳入點的向量即可,獲取結果影象的時候需要呼叫mat figure();
方法。 MATLAB中的plot 函式
xk 315 0.01 1575 temp 157.5 a temp xk plot xk,a hold on plot xk,a hold off grid minor axis 250 1650 0 0.6 xlabel 5級暗紋的距離 ylabel a的距離 grid minor 新增細密的網...
matlab中PLOT指令的基本用法
一 基本使用 plot後面的可以是單一矩陣,如果是m n的矩陣,則自動繪製m 行數 個曲線,座標為列號。plot後面的還可以是乙個或多個矩陣 向量 標量對。具體規則描述如下 plot x,y x用於產生橫座標,而y用於產生縱座標,產生對應點後,按照行號或列號進行相連產生折線圖 以下規則中向量不論是行...
總結整理Matlab的plot函式用法
1.plot x,y x y 為相應點集 2.plot x,y1,x,y2 在乙個視窗下繪製多條曲線之方法一 3.hold on 在乙個視窗下繪製多條曲線之方法二 plot x,y1 plot x,y2 hold off 4.plot後 xlabel x axis name 設定x y軸名稱 yla...