opencv 3.0 常用函數 (1)

引言

這些Opencv內容我之前經常在工作時候用到,在這里我總結一下方便以后使用以及復習。

1.創(chuàng)建Mat

      Mat matSrc (Size(320,240),CV_8UC3) ;

2.讀取Mat圖像

     Mat matSrc = imread("C:\\Tmp.jpg");        
     if( matSrc.empty())
     {
          return FALSE;
     }

3.讀取單通道圖像

     Mat matSrc = imread("C:\\Tmp.jpg", 0);        
     if( matSrc.empty())
     {
          return FALSE;
     }

4.保存Mat圖像

     if( matSrc.empty())
     {
          return FALSE;
     }
     imwirte("C:\\Tmp.jpg", matSrc);  

5.Mat與Iplimage互轉

Mat->Iplimag

     Mat matSrc(pSrcImg, false);//注意:當將參數copyData設為true后,則為深拷貝(復制整個圖像數據)

Iplimage-> Mat

     IplImage SrcImg(matSrc);//此方法為淺拷貝

6.復制Mat圖像

此方法會額外的創(chuàng)建一個圖像內存?zhèn)浞荩且谩?/p>

   matImg = matSrc.clone();

7.灰度化

彩色圖像RGB轉灰度公式:gray = R * 0.299 + G * 0.587 + B * 0.114。CV_BGR2GRAY為彩色轉灰度,CV_GRAY2BGR為灰度轉彩色。

     Mat matGray;
     cvtColor( matSrc , matGray, CV_BGR2GRAY );

8.反轉圖像

     flip(matSrc , matSrc , -1);

9.判斷輸入圖像的數據是否為空

    if (!matSrc.data)
    {
        return FALSE;
    }

10.判斷輸入圖像的大小是否滿足想關條件

    if (matSrc.cols < 100 || matSrc.rows < 100)
    {
        return FALSE;
    }

11.腐蝕算法

腐蝕算法使二值圖像減小一圈 。原理:腐蝕替換當前像素位像素集合中找到的最小像素值。iErode參數為腐蝕次數

    for (int i = iErode; i > 0; i--)
    {
        erode(matSrc, matSrc, Mat());
    }

12.膨脹算法

膨脹算法使二值圖像減小一圈。原理:膨脹是替換當前像素位像素集合中找到的最大像素值。 idilate參數為膨脹次數

    for (int i = iDilate; i > 0; i--)
    {
        dilate(matSrc, matSrc, Mat());
    }

13.高斯濾波算法

線性平滑濾波,適用于消除高斯噪聲。(iSmooth必須為單數)

    if (iSmooth % 2 == 0)
    {
        iSmooth = 1;
    }    
    GaussianBlur(matSrc, matSrc, Size(iSmooth, iSmooth), 0);

14.中值濾波算法

非線性平滑技術,它將每一像素點的灰度值設置為該點某鄰域窗口內的所有像素點灰度值的中值。(iSmooth必須為單數)

    if (iSmooth % 2 == 0)
    {
        iSmooth = 1;
    }    
    medianBlur (matSrc, matSrc, iSmooth );

15.二值化

就是將圖像上的像素點的灰度值設置為0或255。iThreshold為二值化參數范圍(0~255)

     threshold(matSrc, matSrc, iThreshold, iThreshold , THRESH_BINARY);

16.大律法自適應二值化

OTSU的中心思想是閾值T應使目標與背景兩類的類間方差最大。iThreshold為二值化參數范圍(0~255)

     threshold(matSrc, matSrc, iThreshold , iThreshold , CV_THRESH_OTSU);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容