opencv例程分析(1)

2021-07-11 22:39:37 字數 1367 閱讀 6866

//show image

#include #include "opencv2/opencv.hpp"

#include "opencv2/core/core.hpp"

#include "opencv2/highgui/highgui.hpp"

using namespace cv;

using namespace std;

int main()

注釋:

1.灰度圖:

什麼叫灰度圖?任何顏色都有紅、綠、藍三原色組成,假如原來某點的顏色為rgb(r,g,b),那麼,我們可以通過下面幾種方法,將其轉換為灰度:

1.浮點演算法:gray=r*0.3+g*0.59+b*0.11

2.整數方法:gray=(r*30+g*59+b*11)/100

3.移位方法:gray =(r*76+g*151+b*28)>>8;

4.平均值法:gray=(r+g+b)/3;

5.僅取綠色:gray=g;

通過上述任一種方法求得gray後,將原來的rgb(r,g,b)中的r,g,b統一用gray替換,形成新的顏色rgb(gray,gray,gray),用它替換原來的rgb(r,g,b)就是灰度圖了。

這裡提到的灰度圖,實際上是一種256色影象上的重要應用。

256色影象畫素值的取值範圍是0~255。每乙個畫素值由8個二進位制位表示。畫素值不代表具體顏色,而是調色盤256種顏色的索引值。256色灰度圖,實際上是256色影象乙個特例,其影象畫素值取值範圍仍是0~255,但是每乙個數值,代表一種灰度。0代表純黑,255為純白。中間為過渡色。由於256色灰度影象去除了顏色資訊,因此在很多影象分析場合,尤其是數字影象模式識別應用中較為常用。

2.waitkey(x):

it waits for x milliseconds for a key press. if a key was pressed during that time, it returns the key's ascii code. otherwise, it returns -1.

it handles any windowing events, such as creating windows with cv::namedwindow(), or showing images with cv::imshow().

( 引數x: 等待x ms,如果在此期間,有按鍵按下,則立即結束並返回按下按鍵的ascii碼,否則,返回-1;如果x=0,那麼無限等待下去,直到有按鍵按下。 另外,在imshow之後如果沒有waitkey語句則不會正常顯示影象。)

3. using namespace:

(using namespace)

OpenCV例程學習

1,影象感興趣區域的顯示 include include int main 這裡定義了乙個imageroi region of interest 即感興趣區域,rect 為取乙個矩形區域,它的前兩個引數是矩形左上角座標,後兩個引數依次是寬度和高度。也可以這樣 include include incl...

opencv示例程式

工欲善其事必先利其器,首先當然是配置環境安裝軟體啦。我安裝的vs2012 opencv2.48以及opencv3.0。具體安裝步驟按照淺墨大神的部落格進行即可 include opencv簡單程式標配標頭檔案 using namespace cv 使用cv命名空間 void main 命名空間 op...

OpenCV自帶例程 人臉檢測

opencv自帶的例程中有人臉識別的例程,原始檔為 path opencv 3.4 1 samples cpp facedetect.cpp 通過cmake編譯之後生成可行性檔案,執行時需要指定分類器檔案,該檔案存放在 opencv 3.4.1 data haarcascades haarcasca...