OpenCV Android應用開發學習筆記

2021-09-07 06:50:17 字數 1989 閱讀 2616

通過這一部分的學習有一些android開發的坑需要注意:

這個筆記算是將《深入opencv android應用開發》這本書的內容縮略整理為方便檢視的筆記

影象處理函式:src為原圖、size(3,3)表示3x3的核

均值模糊:imgproc.blur(src, src, new size(3, 3));

高斯模糊:imgproc.ganssianblur(src, src, new size(3, 3), 0);

中值模糊:imgproc.medianblur(src, src, 3);中值模糊不用卷積;

銳化:這裡是用的是自定義核,銳化處理要求錨點畫素權重較高。周圍權重較低,filter2d()函式對給定的影象和核做卷積

核:0,-1,0 

-1,5,-1

0,-1,0

mat kernel = new mat(3, 3, cvtype.cv_16sc1);

kernel.put(0,0,0,-1,0,-1,5,-1,0,-1,0);

imgproc.filter2d(src, src, src.depth(), kernel)

膨脹:這是一種將影象中亮區域擴張的方法可以選取乙個適宜尺寸的核,用被核覆蓋的最大值代替錨點的畫素:

腐蝕:和膨脹相反,是一種將影象中按區域擴張的方法。選取乙個合適的核,用被覆蓋的最小值替代錨點畫素,可用來對影象進行降噪:

閾值化:可以將想要在影象中分析的區域分割出來的方法,把每個畫素值都與乙個預設的閾值做比較,再根據比較的結果調整畫素值: imgproc.threshold(src, src, 100, 255, imgproc.thresh_binary);

常量可根據需要改變:

自適應閾值:有時對於執行影象分割來說,設定乙個全域性性閾值並不合適,因為會受到光照條件影響畫素的亮度,為克服這個問題,可以根據鄰域畫素為任意畫素計算閾值:

會用到的三個引數:

1)自適應方法(兩種):

adaptive_thresh_mean_c:閾值是鄰域畫素的均值

adaptive_thresh_gaussian_c:閾值是鄰域畫素的加權和,權重來自高斯核

2)塊尺寸:即鄰域的大小;

3)常量c:從對每個畫素計算得到的均值或加權值減去的常量; imgproc.cvtcolor(src, src, imgproc.color_bgr2gray);

imgproc.adaptivethreshold(src, src, 255, imgproc.adaptive_thresh_gaussian_c, imgproc.thresh_binary, 3, 0);

Opencv Android安裝使用

這是本人第一篇部落格,寫部落格並不是說本人的技術能力有多強,或者說炫耀自己取得的進展。在當今這個資料資訊大 的年代,每個人肯定會接受很多新鮮事物,但不是所有東西你都能記得一清二楚,寫部落格一方面是為了鞏固加深自己的學習 另一方面,一直在各部落格上學習他們的思路和方法,自己也想加入這個集體裡面,為別人...

網路應用 web應用

world wide web tim berners lee 網頁 網頁互相鏈結 網頁 web page 包含多個物件 objects 物件的定址 addressing url uniform resoure locator 統一資源定位器 rfc1738 scheme host port path...

應用 原生應用和混合應用的區別

最近原生應用 web應用 混合應用的名字讓我們聽得比較熟悉了,現在我們就通過評析各種應用的優缺點來更進一步看看這三者的區別。一.原生應用 你使用過微軟powerpoint 或者 word吧?這些可直接在你電腦上執行或者在智慧型手機上執行,簡單來說,原生應用是特別為某種作業系統開發的,比如ios an...