嘗試opencv裂縫檢測

2021-08-20 13:00:45 字數 1402 閱讀 3162

首先,對於實際工程中拍攝的我們肯定要先進行處理,

在計算機裡,是按照不同顏色(rgb,即red,green,blue)分層儲存的。

而對於我們的檢測,我們可以選擇黑白,這樣它就只有一層高度,但對於體現裂縫的細節也是足夠了。

而將彩色圖變成灰度圖後,考慮到混凝土,裂縫,陰影,灰度比較接近,通常會將灰度細化,使之區分。

這個問題先不解決,先找個簡單的裂縫

對於這樣乙個,再計算機眼裡都是些矩陣,灰度就是矩陣的數字,

對於人類,我們能清楚的看見乙個孩子。

但對於計算機,它能看出,那說明它已經到達了卷積神經網路的層次了。

那麼原理也清楚了,通過尋找相似的灰度值來找到可能存在的裂縫。

**如下

#選取關鍵點截圖

liefeng1=cv2.imread('d:\liefeng1.png',0)

w,h=liefeng1.shape[::-1]

res=cv2.matchtemplate(image_backgroud,liefeng1,cv2.tm_ccoeff_normed)

#相似度

threshold=0.3

loc=np.where(res>threshold)

for pt in zip(*loc[::-1]):

cv2.rectangle(image_backgroud,pt,(pt[0]+w,pt[1]+h),(155,0,0),1)

cv2.imshow('liefeng',image_backgroud)

cv2.waitkey(0)

cv2.destroyallwindows()

寫**之前先選擇幾個裂縫節點,作為標準,再控制相似度就能看到裂縫,再將方框都組合後,那就是電腦檢測出的裂縫圖了。

OpenCV嘗試心得

opencv是一款計算機視覺庫,初次接觸計算機視覺感覺計算機視覺有點東西 很多的影象處理之間的關係需要我們對影象的知識。以前沒接觸過影象,自己認為的影象就是螢幕上rgb的畫素點,每個畫素點,是影象的一開始的狀態,但是通過這次培訓明白了影象是rgb三層畫素之間的疊加,取樣頻率和量化之間的概念,在我理解...

嘗試用OpenCV的模板匹配來定位和檢測

cv exports w void matchtemplate inputarray image,inputarray templ,outputarray result,int method 模板匹配的工作方式 跟直方圖的反向投影基本一樣,大致過程是這樣的 通過在輸入影象image上滑 像塊,對實際...

OpenCV人臉檢測

include include include include include include include include include include static cvmemstorage storage 0 建立乙個記憶體儲存器,來統一管理各種動態物件的記憶體 static cvhaar...