<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          OpenCV中圖像修復(fù)技術(shù)介紹與演示

          共 2698字,需瀏覽 6分鐘

           ·

          2021-06-24 19:18

          點擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達

          本文轉(zhuǎn)自:opencv學(xué)堂

          現(xiàn)實中圖像經(jīng)常出現(xiàn)劃傷或者被噪聲腐蝕或者有污漬點,對于這類圖像可以通過修復(fù)(inpainting)相關(guān)的算法來說恢復(fù)損害的圖像。一般情況下這些算法都是基于污染區(qū)域的周圍已知的顏色和結(jié)構(gòu),通過繁殖和混合重新生成填充污染區(qū)域。OpenCV中實現(xiàn)的圖像修復(fù)算法有兩種。

          • 基于Navier-Stokes的修復(fù)方法

          • 基于圖像梯度的快速匹配方法又稱(Telea法)

          對應(yīng)的兩個枚舉類型分別如下:

          • CV_INPAINT_NS

          • CV_INPAINT_TELEA

          在OpenCV3.1.0中對應(yīng)的API方法為inpaint

          • src參數(shù)表示八位單通道或者三通道的圖像

          • inpaintMask參數(shù)表示8位單通道的圖像,非零像素區(qū)域表示要修復(fù)區(qū)域

          • dst參數(shù)表示修復(fù)后的圖像,大小類型跟輸入圖像src一致

          • inpaintRadius參數(shù)表示修復(fù)位置點周圍的半徑大小

          • flags參數(shù)表示使用的是哪種修復(fù)方法,必須是上述提到兩種方法之一。

          1. #include <opencv2/opencv.hpp>

          2. #include <iostream>

          3. #include <math.h>

          4. using namespace cv;

          5. using namespace std;

          6. int main(int argc, char** argv) {

          7.    Mat src = imread("D:/gloomyfish/topstar.png");

          8.    if (src.empty()) {

          9.        printf("could not load image...\n");

          10.        return -1;

          11.    }

          12.    namedWindow("污染圖像", CV_WINDOW_AUTOSIZE);

          13.    imshow("污染圖像", src);

          14.    // 獲取mask

          15.    Mat mask;

          16.    inRange(src, Scalar(0, 0, 250), Scalar(0, 0, 255), mask);

          17.    imshow("mask image", mask);

          18.    // 修復(fù)

          19.    Mat dst;

          20.    inpaint(src, mask, dst, 3, CV_INPAINT_TELEA);

          21.    namedWindow("修復(fù)圖像", CV_WINDOW_AUTOSIZE);

          22.    imshow("修復(fù)圖像", dst);

          23.    waitKey(0);

          24.    return 0;

          25. }

          效果演示

          應(yīng)用實戰(zhàn) - 圖像去水印

          隨便從天涯上面找了一張圖像,顯示如下:

          提取水印文字【天涯社區(qū)】四個字得到結(jié)果如下:

          這樣的水印區(qū)域作為模板如果直接去修復(fù)的話,效果不是很好,原因在于【天涯社區(qū)】四個水印文字是雕刻體,除了白色區(qū)域外,它周圍還有一圈灰度區(qū)域,所以通過圖像形態(tài)學(xué)操作膨脹得到如下結(jié)果:

          然后直接調(diào)用修復(fù)API即可實現(xiàn)去水印,得到無水印圖像顯示如下:

          水印文字【天涯社區(qū)】已經(jīng)不見啦!


          對應(yīng)的演示代碼如下:

          1.    // 獲取水印mask圖像

          2.    Mat wm; // 水印文字

          3.    imshow("文字水印", src);

          4.    inRange(src, Scalar(240, 240, 240), Scalar(255, 255, 255), wm);

          5.    // 形態(tài)學(xué)操作

          6.    Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));

          7.    morphologyEx(wm, wm, MORPH_DILATE, kernel, Point(-1, -1), 2);

          8.    imshow("mask22", wm);

          9.    // 去水印結(jié)果

          10.    Mat tywwm;

          11.    inpaint(src, wm, tywwm, 3, CV_INPAINT_TELEA);

          12.    imshow("去水印結(jié)果", tywwm);

          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  尹人大香蕉在线 | 欧美日韩逼 | 青青草91视频 | 欧美逼XXXX | 日本操逼网 |