Opencv 學習 自封裝函式

2021-10-10 05:57:04 字數 2433 閱讀 1261

mat cvdrawhist

(mat * pmat,

char

* szwndname =

"histfig"

, bool bshowhist = true)

;const

int bins[1]

=;float irange[2]

=;const

float

* range[1]

=;calchist

(pmat,

1, idxchannel,

mat(

), mathist,

1, bins, range)

;// 設定直方圖畫布大小

int hist_w =

512;

int hist_h =

400;

int widthhist =4;

mat bkmat = mat::

zeros

(hist_h, hist_w, cv_8uc3)

;// 歸一化,並繪製在視窗中

mat mathistnor;

normalize

(mathist, mathistnor,1,

0, norm_inf,-1

,mat()

);for(

int i =

1; i <= mathistnor.rows; i++

)// 按需選擇是否顯示

if(bshowhist)

return mathist;

}

摘自:coldplayplay

mat checkcolor

(mat &inimg,

int red_threshold =50,

int sat_threshold =5)

else}}

//erode(fireimg, fireimg, mat(3, 3, cv_8uc1));

//gaussianblur(fireimg, fireimg, size(5, 5), 0, 0);

medianblur

(fireimg, fireimg,5)

;dilate

(fireimg, fireimg,

mat(5,

5, cv_8uc1));

return fireimg;

}

// 1. 變數定義

mat frame_color;

// 原始影象

mat frame_gray;

// 灰度影象資料

mat frame_binary_org;

// 二值化影象資料

mat frame_binary_fix1;

// 二值化影象資料

// 2. 讀取原圖

frame_color =

imread

("../testpic/test1.png");

if(frame_color.

empty()

)// 3. 彩色圖 》 灰度圖

cvtcolor

(frame_color, frame_gray, color_bgr2gray);/*

中間插入濾波、平滑、等處理

*/// 4. 二值化灰度圖

threshold

(frame_gray, frame_binary_org,

240,

255, thresh_binary | thresh_otsu)

;//adaptivethreshold(frame_gray, frame_binary_org, 255, adaptive_thresh_gaussian_c, thresh_binary, 55, 0);

//adaptivethreshold(frame_gray, frame_binary_org, 255, adaptive_thresh_mean_c, thresh_binary, 51, -3);

// 5. 對原始的二值化影象進行形態學操作(修圖)

// 6. 識別二值化圖的輪廓(邊緣檢測)

vector> contours;

vector hierarchy;

findcontours

;// 邊緣檢測

// 7. 繪製輪廓圖

mat dstimage = mat::

zeros

(frame_binary_fix1.

size()

, cv_8uc3)

;for

(int i =

0; i <

(int

)contours.

size()

; i++

)imshow("輪廓圖", dstimage);

小程式Promise 自封裝請求函式

發起請求 param r url 請求位址 param r data 引數 param r method 方法 預設為get param isload 是否顯示載入框 預設不顯示 param r datatype 響應資料 預設json wxrequest function r url,params...

自封裝RequestHttp請求方法

async函式能使多個相關的非同步操作如同同步操作一樣聚合起來,使其相互間的關係更為清晰 過程更為簡潔 除錯更為方便。返回乙個promise物件。import axios from axios import as config from config 返回請求 根據介面返回的格式進行相應修改 htt...

Opencv學習 LUT函式

lut look up table 查詢表,我表達能力不好,加上對這個了解的不是很深刻,對於lup具體解釋用文字不好說。不過看下面例子應該可以看懂。首先我們看單通道影象。對於8位單通道,其畫素灰度為0 255,假如我們想將影象某一灰度值換成其他灰度值,用查詢就很好用。當把此 應用到時,0 100灰度...