0039-OpenCV環境下做開運算、閉運算、梯度運算、頂帽運算、黑帽運算
形態學的開運算、閉運算、梯度運算、頂帽運算、黑帽運算都是建立在形態學的腐蝕膨脹操作之上的,下面分別介紹。
開運算:先腐蝕後膨脹的過程,可以用來消除小物體。
閉運算:先膨脹再腐蝕,用於排除小型黑洞。
形態學梯度:膨脹圖與腐蝕圖之差,用於保留物體的邊緣輪廓。
頂帽:原影象與開運算圖之差,用於分離比鄰近點亮一些的斑塊。
黑帽:閉運算與原影象之差,用於分離比鄰近點暗一些的斑塊。
opencv提供了函式morphologyEx來進行上述形態學運算操作,使用方法很簡單,大家看程式碼便懂
示例程式碼如下:
程式碼請加Q2034196302獲取
程式碼請加Q2034196302獲取
程式碼請加Q2034196302獲取
執行結果截圖如下:
相關推薦
0039-OpenCV環境下做開運算、閉運算、梯度運算、頂帽運算、黑帽運算
形態學的開運算、閉運算、梯度運算、頂帽運算、黑帽運算都是建立在形態學的腐蝕膨脹操作之上的,下面分別介紹。 開運算:先腐蝕後膨脹的過程,可以用來消除小物體。閉運算:先膨脹再腐蝕,用於排除小型黑洞。形態學梯度:膨脹圖與腐蝕圖之差,用於保留物體的邊緣輪廓。頂帽:原影象與開運算圖之差,用於分離比鄰近點亮
0041-在OpenCV環境下做FloolFill分割
關於FloolFill分割的原理,請大家參見我之前在CSDN部落格上寫的一篇文章,連結是: http://blog.csdn.net/wenhao_ir/article/details/51967181 OpenCV提供了floodFill函式用來實現FloodFill泛洪填充演算法,下面詳細介
0022-在OpenCV環境下做影象或矩陣的傅立葉變換
傅立葉變換的概念在《高等數學》、《訊號與系統》、《數字訊號處理》中都有詳細的原理說明,網上也有一大堆文章解釋其原理。這裡我就不多說了,總之它是把訊號變換到三角函式系裡,實際上是域的變換,至於變換有什麼好處,其實就是從另一個角度觀察同一個訊號。對影象的傅立葉變換實際上是一個二維傅立葉變換。OpenCV
0031-在OpenCV環境下做旋轉文字影象的矯正!
直接上程式碼和執行結果截圖,具體的原理大家可以訪問下面的連結檢視! 連結:http://johnhany.net/2013/11/dft-based-text-rotation-correction/ 如果上面的連結訪問不了,可以下載我離線儲存的網頁檔案檢視,下載連結如下: 連結:http://
0029-在OpenCV環境下做導向濾波的程式碼
前邊提到的均值濾波、中值濾波和高斯濾波,都屬於各向同性濾波,它們對待噪聲和影象的邊緣資訊都採取一樣的態度,結果,噪聲被磨平的同時,影象中具有重要地位的邊緣、紋理和細節也同時被抹平了,這是我們所不希望看到的。為了解決這個問題,人們陸續提出了一些演算法來把影象邊緣和噪聲區別對待,比如雙邊濾波和導向濾波,
0037-OpenCV環境下用演算法moravec、harris、Shi-Tomasi進行角點檢測
角點的定義: “如果某一點在任意方向的一個微小變動都會引起灰度很大的變化,那麼我們就把它稱之為角點”。角點一般反應的是影象中區域性最大值或最小值的孤立點,以角點為中心點的視窗向影象中的任意方向滑動,都會引起較大的灰度變化。 角點檢測(Corner Detection)是計算機視覺系統中用來獲得影象特
0035-OpenCV環境下繪製輪廓的外接多邊形、最小立式矩形、最小外接圓
OpenCV提供了函式approxPolyDP()、boundRect()、minEnclosingCircle()分別計算給定點集的外接多邊形,最小立式矩形和最小外接圓,下面分別給出這三個函式的原型和引數意義。approxPolyDP函式(計算外接多邊形): C++: void approxPol
0020-在OpenCV環境下對影象做Gamma校正
什麼是Gamma校正? Gamma校正是對輸入影象灰度值進行的非線性操作,使輸出影象灰度值與輸入影象灰度值呈指數關係。 上面中的指數γ即為Gamma. 經過Gamma校正後的輸入和輸出影象灰度值關係如下圖所示:橫座標是輸入灰度值,縱座標是輸出灰度值,藍色曲線是gamma值小於1時的輸入輸出
在OpenCV環境下對影象做Gamma校正
什麼是Gamma校正? Gamma校正是對輸入影象灰度值進行的非線性操作,使輸出影象灰度值與輸入影象灰度值呈指數關係。 上面中的指數γ即為Gamma. 經過Gamma校正後的輸入和輸出影象灰度值關係如下圖所示:橫座標是輸入灰度值,縱座標是輸出灰度值,藍色曲線是gamma值小於1時的輸入輸出
0044-利用橢圓模型在OpenCV環境下檢測人體面板
原理:YCbCr顏色空間是一種常用的膚色檢測的色彩模型,其中Y代表亮度(為了消除光照的影響一般放棄亮度通道),Cr代表光源中的紅色分量,Cb代表光源中的藍色分量,人體的面板的顏色集中在色度的較小區域內。膚色的CbCr平面分佈在近似橢圓的區域內,通過判斷當前畫素點的CbCr值是否落在膚色分佈的橢圓區域
0038-OpenCV環境下進行影象的膨脹與腐蝕操作
影象的膨脹與腐蝕是形態學技術裡最基本的操作,相關的定義和實現原理請大家參見帖子: http://blog.csdn.net/poem_qianmo/article/details/23710721 OpenCV提供了函式dilate和函式erode實現影象的膨脹與腐蝕操作,下面分別介紹相關函式並
0055-在OpenCV環境下合成高動態範圍影象(HDR)
高動態範圍影象的英文名稱為HDR,全稱為High Dymamic Range。影象動態範圍是指影象中畫素亮度的最大值也最小值的比值,即最亮與最暗的灰度等級劃分,動態範圍越大,影象細節層次越豐富,表現形態越細膩。 HDR影象使用超過8bit/每通道(通常是32bit浮點值),這樣極大地提高了影象動
0016-在OpenCV環境下進行影象的直方圖均衡化
對於一些過度曝光的影象,實質上是影象的亮度值分佈集中在某一個區域,導致影象的對比度過低。為了解決這個問題,引出了直方圖均衡化這個技術,將亮度值分佈很集中的直方圖的亮度範圍拉大至整一個亮度區域(如8位灰度圖就是到0-255)。OpenCV提供了equalizeHist這個函式來進行灰度影象的直方圖均衡
0015-OpenCV環境下計算並繪製HSV空間的H-S的二維聯合直方圖
上篇博文(https://blog.csdn.net/lehuoziyuan/article/details/84064822)介紹了灰度直方圖的計算,是一維的直方圖,這篇博文介紹運用calcHist計算二維聯合直方圖的方法。以HSV空間的H-S的二維聯合直方圖為例。 需要說明的是,二維直方圖並不是
0014-OpenCV環境下計算並繪製灰度直方圖的原始碼!
影象的直方圖是影象進行運算時的一個重要的資料特徵,許多演算法都需要用到影象的直方圖資料,OpenCV提供了函式calcHist用來計算影象的直方圖資料。這個函式的引數較多,下面介紹這個函式。calcHist的原型如下: void calcHist(const Mat* images, int nim
判斷是否為微信環境下打開的網頁
網頁 mes tel doc 微信瀏覽器 agent mic tolower fun 非微信瀏覽器條件下隱藏某些東西: function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase
在OpenCV環境下寫的灰度影象二維傅立葉換,幅值計算,頻譜平移和將數值歸一化到0到255區間的四個函式
影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注! 影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注! 影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋
沒有OpenCV環境下執行OpenCV程式
專案基本演算法已經完成,甲方需要一個可以執行的demo。目前,程式能在自己的電腦上正常執行。移植到其他win7系統上,執行失敗。 尋找各種解決辦法,baidu找到兩個辦法: 1.使用靜態連結的方法,這種生成的exe太大,放棄。 2.將對應需要的dll拷貝到exe的執行目錄下,這種雖然檔案多,但是易操作,選擇
在OpenCV環境下寫的兩個影象平移C和C++原始碼!
平像平移的概念就不用多說了,直接上經實測無誤的程式碼吧! 原始碼一(C程式設計,不用MAT類) #include <opencv2/opencv.hpp> #include <opencv2/legacy/compat.hpp> #inc
OpenCV開運算(Opening)閉運算(Closing)形態梯度(Gradient)TopHat、BlackHat
程式碼位置:15-OpeningClosingGradientTophatBlackhat.py import cv2 kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3)) img = cv2.imread('./res/j