OPENCV-5 學習筆記

OPENCV-5 學習筆記

線性濾波

  • 方框濾波——boxblur函數
  • 均值濾波(鄰域平均濾波)——blur函數
  • 高斯濾波——GaussianBlur函數
  • 中值濾波——medianBlur函數
  • 雙邊濾波——bilateralFilter函數

關于濾波和模糊—–濾波可分低通濾波和高通濾波兩種。而高斯濾波是指用高斯函數作為濾波函數的濾波操作,至于是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。

高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛應用于圖像處理的減噪過程。

//載入原圖  
Mat image = imread("e://4.jpg");
//創建窗口  
namedWindow("高斯濾波【原圖】");
namedWindow("高斯濾波【效果圖】");
//顯示原圖  
imshow("高斯濾波【原圖】", image);
//進行高斯濾波操作,其他方式類似
Mat out;
GaussianBlur(image, out, Size(5, 5), 0, 0);
//顯示效果圖  
imshow("高斯濾波【效果圖】", out);
waitKey(0);

非線性濾波

  • 中值濾波——medianBlur函數
    • void medianBlur(InputArray src,OutputArray dst, int ksize)
    • int類型的ksize,孔徑的線性尺寸(aperture linear size),注意這個參數必須是大于1的奇數,比如:3,5,7,9 …
  • 雙邊濾波——bilateralFilter函數
    • void bilateralFilter(InputArray src, OutputArraydst, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT)

開運算:先腐蝕后膨脹的過程—可以用來消除小物體、在纖細點處分離物體、平滑較大物體的邊界的同時并不明顯改變其面積

閉運算:先膨脹后腐蝕的過程—能夠排除小型黑洞(黑色區域)

形態學梯度:膨脹圖與腐蝕圖之差—可以用形態學梯度來保留物體的邊緣輪廓

頂帽運算:為原圖像與“開運算“的結果圖之差—當一幅圖像具有大幅的背景的時候,而微小物品比較有規律的情況下,可以使用頂帽運算進行背景提取

黑帽運算為:”閉運算“的結果圖與原圖像之差—用來分離比鄰近點暗一些的斑塊

morphologyEx函數

void morphologyEx(InputArray src,OutputArray dst,int op,InputArraykernel,Pointanchor=Point(-1,-1),intiterations=1,intborderType=BORDER_CONSTANT,constScalar& borderValue=morphologyDefaultBorderValue());  

op類型:

  • MORPH_OPEN – 開運算(Opening operation)
  • MORPH_CLOSE – 閉運算(Closing operation)
  • MORPH_GRADIENT -形態學梯度(Morphological gradient)
  • MORPH_TOPHAT - “頂帽”(“Top hat”)
  • MORPH_BLACKHAT - “黑帽”(“Black hat“)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250742.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250742.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

node --- 監聽文件變化(靜態、動態、子進程)

靜態版本:監聽的文件名寫死了 // watcher.js use strict const fs require(fs); fs.watch(target.txt, () > console.log(File changed!)); console.log(Now watching target.txt for changes...);命令行啟動 node watcher.js動態版本:在命令行輸入需要監聽的文件名. pr…

redis學習總結

一、redis工作流程 1、把redis安裝到Linux上 2、配置redis.conf文件 使之可以后臺運行 3、根據項目需求添加相應的jar包 4、調用相應的api實現項目需求 二、redis相關知識 1、redis是緩存數據庫,為了減少對關系型數據庫的訪問消耗,可以把常用的數據添加…

OPENCV-6 學習筆記

OPENCV-6 學習筆記 邊緣檢測 步驟: 濾波增強檢測 canny算子—Canny 的目標是找到一個最優的邊緣檢測算法 評價標準: 1.低錯誤率: 標識出盡可能多的實際邊緣,同時盡可能的減少噪聲產生的誤報。 2.高定位性: 標識出的邊緣要與圖像中的實…

es6 --- Promise封裝讀取文件操作

Promise: es6中為了解決回調地獄問題而產生的 Promise的參數 Promise的參數是一個函數.每個Promise在實例化時,都會立即執行參數里的函數 const p new Promise(()>{console.log(1); })// 解釋了上面的第2條Promise參數的參數 Promise的參數(函數),默認有2個參數(resol…

匿名函數

匿名函數:lambda 函數 語法: lambda 參數1, 參數2 : 表達式 表達式即為返回值 例: result (lambda x, y: xy)(1.2) print(result) 例2: newFunc lambda x,y : xy print(newFunc(1,2) 例3: result sorted…

hdu-6165(tarjan+topusort)

題意:一個有向圖,無自環,無重邊,讓你判斷這個圖內的任意兩點是否有路; 解題思路:首先,判斷兩個點是否可達一般用出入度來判斷,如果在拓撲排序中同時有兩個及以上入度同時為零的點&am…

OPENCV-7 學習筆記

OPENCV-7 學習筆記 轉換圖像尺寸 resize函數。這是最直接的方式,yrUp( )、pyrDown( )函數。即圖像金字塔相關的兩個函數,對圖像進行向上采樣,向下采樣的操作。 圖像金字塔 類似于金字塔的形狀,將原始圖像以金字塔形狀的分辨率…

雜項:E-Learning

ylbtech-雜項:E-Learning1.返回頂部 1、E-Learning:英文全稱為(Electronic Learning),中文譯作“數字(化)學習”、“電子(化)學習”、“網絡(化)學…

css --- flex布局的應用(between)

between 想把發布時間放在左邊,點擊放在右邊 頁面結構如下: 可以看到發布時間和點擊是在類 .mui-ellipsis 下.使用css3的 flex 布局中的: space-between .mui-ellipsis{display: flex;justify-content: space-between; }

WeUI

介紹: WeUI是微信設計團隊為微信網站開發量身定做的微信類UI界面,旨在改善和規范微信用戶體驗。包括組分如button,cell,dialog,progress,toast,article,actionsheet,icon…

php中的json

php中的json函數主要有三個: 函數描述json_encode()對變量進行 JSON 編碼json_decode對 JSON 格式的字符串進行解碼,轉換為 PHP 變量json_last_error返回最后發生的錯誤 認識前提: {},花括號代表包裝的是一個對象數據&#xff0…

vue --- 全局配置過濾函數,使用moment函數來格式化時間

效果1 YYYY-MM-DD 效果2 YYYY-MM-DD HH:mm:ss 配置注意事項 由于時間格式化,在大多數頁面中都會用到,因此建議配置在全局中 使用moment函數 -> http://momentjs.cn/ npm 安裝 # 命令行 cnpm i moment -S在全局中配置 // main.js import moment from momentVue.f…

2018ICPC南京賽區網絡賽J Sum(素數篩+找規律)

素數篩鏈接:https://blog.csdn.net/dl962454/article/details/76595623 【題意】 f(i):能拆成兩個數的乘積,并且這兩個數要求沒有平方因子,并且兩個數的位置互換算兩種方案。 最后求f(1)f(2)f(3)...f(n)。 【解題思路】…

[UE4]C++中extern關鍵字淺談

變量聲明和變量是有區別的 extern int i; //只是聲明i而非定義i int j; //聲明而且還定義了j 任何一個顯式初始化的聲明都將成為定義,而不管有沒有extern,extern語句一旦變量賦予了初始值就變成了定義。 extern double pi3.1415926; //定義 stat…

PHP 計算兩個兩個文件的相對路徑

例: a‘/a/b/c/d/e.php′;a = ‘/a/b/c/d/e.php’; b ‘/a/b/12/34/c.php’; 二者的相對路徑結果為:/a/b/12/34/../../c/d/e.php //計算出$b相對于$a的相對路徑: function getRelativePath($a,$b){$returnPath array(dirname($b));$arrA explode(…

vue --- 使用vue-router獲取帶參數的路由

希望的效果如下: 2個路由: 點擊如下 步驟. 使用 router-link 來指定路由路徑在router.js中指定 路徑的 事件處理函數(對應的組件)創建對應的組件 router-link 找到一個區別各個列表的屬性(id),將其作為參數傳遞到路由中to是vue-router中用來綁定路由的屬性由于需要進行計…

.Net Core2.*學習手冊

1.net core 基礎知識解析(創建一個.net core網站)(視頻錄制) 1.1 Startup解析(沒寫)   1.2 目錄結構分析(沒寫)   1.3 使用靜態文件(沒寫)   1.4 Controller(沒寫)   1.5 Razor頁面(沒寫) 1.6.net core appsetting/獲取配置文件   2.創建.net core項目 2.1 創建一個項…

java中static詳解

這個博主寫的總結很好,這里附上鏈接http://www.cnblogs.com/dolphin0520/p/3799052.html 下面進行簡要總結: 在《Java編程思想》P86頁有這樣一段話: “static方法就是沒有this的方法。在static方法內部不能調用非靜態方法,反過來是可以的。而且可以在沒有…

PHP 實現中文截取無亂碼的方法

PHP 實現中文截取無亂碼的方法 需知: 中文字符在gbk編碼下為2個字符,utf-8下為3個字符中文字符的ASCII值是從0xa0后開始的通過ord()函數可以返回字符串中第一個字符的ASCII值,chr()函數作用相反 方法: function GBsubstr($str…

vue --- 全局注冊子組件,并導入全局的子組件

假設: 需要一個評論的模塊comment由于comment在多個頁面中可能會復用.于是創建一個comment.vue 步驟: 創建comment.vue在需要引用的位置使import comment from ../subcomponent/Comment.vue 導入子組件在Vue實例中使用components屬性注冊注冊的規則: “comment-box” : comm…