當前位置:菜譜大全網 - 素菜食譜大全 - OpenCV Python系列教程4——OpenCV圖像處理(壹)

OpenCV Python系列教程4——OpenCV圖像處理(壹)

學習目標:

OpenCV中有150多種顏色空間轉換方法,這裏只討論兩種方法:

HSV的色相範圍為,明度範圍為。不同的軟件使用不同的尺度。如果您想將OpenCV值與它們進行比較,您需要將這些範圍標準化。

單純皰疹病毒和HLV解釋

運行結果:該程序的功能是檢測藍色目標,同樣也可以檢測其他顏色的目標。

結果中有壹些噪聲,將在後面的章節中消除。

這是目標跟蹤中最簡單的方法。壹旦妳學會了等高線的作用,妳就可以做很多事情,比如找到這個物體的質心,用它來跟蹤這個物體,只要在相機前動動手就可以畫出圖表,還有很多其他有趣的事情。

新手教程在線HSV-& gt;BGR轉換

比如求綠色HSV值,可以用上面的程序,得到的值取壹個上下界。如下界[H-10,100,100]和上界[H+10,255,255]。

或者使用GIMP等其他工具。

學習目標:

對圖像進行閾值分割是最簡單的圖像分割方法。基於圖像和背景之間的灰度差異,這種分割是基於像素級的。

threshold(src,thresh,maxval,type[,dst])-& gt;夏令時retval

計算圖像小區域的閾值。因此,對於同壹幅圖像的不同區域,我們得到不同的閾值,這為我們的圖像在不同光照下提供了更好的結果。

三個特殊輸入參數和壹個輸出參數。

adaptiveThreshold(src,maxValue,adaptiveMethod,thresholdType,blockSize,C[,dst])-& gt;夏令時

opencv-threshold-python

OpenCV圖片集

本節的原文

學習目標:

OpenCV提供了兩個轉換函數:cv2.warpAffine和cv2.warpPerspective

Cv2.resize()完成縮放。

文檔描述

運行結果

描述:cv2。INTER_LINEAR方法比cv2慢。INTER_CUBIC,好像和官方文件不壹致?待驗證。

速度比較:INTER _ CUBIC > INTER _ NEAREST & gtINTER _ LINEAR & gtINTER _ AREA & gt跨蘭佐斯4

改變圖像的位置,創建壹個np.float32類型的變換矩陣。

warpAffine(src,M,dsize[,dst[,flags[,borderMode[,border value]]])-& gt;夏令時

運行結果:

旋轉角度()通過變換矩陣進行變換:

OpenCV提供旋轉中心可調的縮放旋轉,這樣妳就可以旋轉到妳喜歡的任何地方。修改後的變換矩陣是

這裏

OpenCV提供了cv2.getRotationMatrix2D控件。

cv2.getRotationMatrix2D(中心、角度、刻度)→ retval

運行結果

cv2.getAffineTransform(src,dst) → retval

功能關系:

\ begin { b matrix } x ' _ I \ y ' _ I \ end { b matrix } \ begin { b matrix } x ' _ I \ y ' _ I \ end { b matrix } =

在…之中

運算結果:圖上的點很容易觀察到,兩圖中的紅點相互對應。

透視變換需要壹個3x3的變換矩陣。變換後,直線保持平直。要找到這個變換矩陣,需要輸入圖像上的四個點和輸出圖像上的相應點。這四點中,有三點應該不是* * *線。通過cv2.getPerspectiveTransform的計算得到變換矩陣,通過cv2.warpPerspective的變換得到最終結果。

本節的原文

平滑,也稱為模糊,是壹種簡單而常用的圖像處理方法。平滑的目的:它通常用於減少圖像上的噪聲或失真。在降低圖像分辨率時,平滑是壹種非常有用的方法。

圖像濾波:在盡可能保留圖像細節特征的情況下抑制目標圖像的噪聲,其處理效果將直接影響後續圖像處理和分析的有效性和可靠性。

消除圖像中的噪聲成分稱為圖像平滑或濾波操作。信號或圖像的能量主要集中在振幅譜的低頻和中頻頻帶。在高頻段,有用的信息會被噪音淹沒。因此,可以降低高頻分量幅度的濾波器可以削弱噪聲的影響。

濾波的目的是提取物體的特征作為圖像識別的特征模式;為了滿足圖像處理的要求,消除了圖像數字化過程中混入的噪聲。

濾波處理的要求:不能破壞圖像的輪廓、邊緣等重要信息;圖像清晰,視覺效果好。

平滑濾波是壹種低頻增強的空間濾波技術,其目的是模糊和消除噪聲。

空間域的平滑濾波壹般采用簡單平均法,即求相鄰像素點的平均亮度值。鄰域的大小與平滑效果直接相關。鄰域越大,平滑效果越好。但是,如果鄰域太大,平滑也會造成邊緣信息的更大損失,從而使輸出圖像模糊。所以,選擇壹個合適的小區是很有必要的。

過濾器:包含加權系數的窗口。用濾鏡平滑圖像時,把這個窗口放在圖像上,看我們通過這個窗口得到的圖像。

線性濾波器:用於消除輸入信號中不想要的頻率,或者從許多頻率中選擇壹個想要的頻率。

低通濾波器,高通濾波器,帶通濾波器,帶阻濾波器,全通濾波器,陷波濾波器。

boxFilter(src,ddepth,ksize[,dst[,anchor[,normalize[,border type]]])-& gt;夏令時

均值濾波是塊濾波歸壹化後的特例。歸壹化就是將處理後的數量縮放到壹個範圍內,比如(0,1),進行統壹處理和直觀量化。非歸壹化塊濾波用於計算每個像素鄰域內的積分特征,例如密集光流算法中使用的圖像倒數的協方差矩陣。

運行結果:

均值濾波是壹種典型的線性濾波算法,主要方法是鄰域平均法,即用壹個圖像區域內每個像素的平均值代替原圖像中的每個像素值。壹般需要給圖像上的目標像素壹個模板(內核),這個模板包括它的相鄰像素(例如以目標像素為中心周圍的8(3x3-1)個像素組成濾波模板,也就是去掉目標像素本身)。然後用模板中所有像素的平均值代替原始像素值。即對於待處理的當前像素點(x,y),選擇壹個模板,該模板由與其緊鄰的幾個像素組成,求出模板中所有像素的平均值,然後將該平均值賦予當前像素點(x,y)作為該點處理圖像的灰度g(x,y),即g(x,y) = 1/m ∑。

均值濾波本身存在固有的缺陷,即不能很好地保護圖像的細節,在去噪的同時也破壞了圖像的細節,從而使圖像變得模糊,不能很好地去除噪聲點。

cv2.blur(src,ksize[,dst[,anchor[,border type]])→dst

結果:

高斯濾波:線性濾波可以消除高斯噪聲,廣泛應用於圖像處理的降噪過程中。高斯濾波是對整幅圖像進行加權平均的過程,每個像素的值是通過自身和鄰域內其他像素值的加權平均得到的。高斯濾波的具體操作是用模板(或卷積或掩膜)掃描圖像中的每壹個像素,用模板確定的鄰域內像素的加權平均灰度值代替模板中心像素的值。

高斯濾波是有用的,但效率低。

高斯模糊技術生成的圖像的視覺效果就像透過半透明的屏幕觀察圖像壹樣,明顯不同於失焦成像的效果和普通燈光陰影的效果。高斯平滑還用於計算機視覺算法的預處理階段,以增強不同尺度下的圖像效果(參見尺度空間表示和尺度空間實現)。從數學的角度來說,圖像的高斯模糊過程就是圖像與正態分布進行卷積。因為正態分布也叫高斯分布,所以這種技術叫高斯模糊。

高斯濾波器是壹種線性平滑濾波器,其選擇值基於高斯函數的形狀。高斯平滑濾波器對於抑制服從正態分布的噪聲非常有效。

壹維零均值高斯函數是:高斯分布參數決定了高斯函數的寬度。

高斯噪聲的產生

GaussianBlur(src,ksize,sigmaX[,dst[,sigmaY[,border type]])-& gt;夏令時

從頻率響應的角度來看,線性濾波易於構造和分析。

在許多情況下,使用相鄰像素的非線性濾波會得到更好的結果。比如當噪聲是鏡頭噪聲而不是高斯噪聲,也就是圖像偶爾有較大的值時,當圖像被高斯濾波器模糊後,噪聲像素不會被消除,反而會轉化為更柔和但仍然可見的鏡頭。

中值濾波是壹種典型的非線性濾波技術。基本思想是用像素鄰域的灰度值的中值代替像素的灰度值。這種方法用於去除脈沖噪聲和椒鹽噪聲,也稱為脈沖噪聲。它隨機改變壹些像素值,是圖像傳感器、傳輸通道、解碼處理產生的黑白亮暗點噪聲。椒鹽噪聲往往是圖像剪切造成的。同時能夠保持圖像的邊緣細節。

中值濾波是壹種基於排序統計理論的非線性信號處理技術,能有效抑制噪聲。其基本原理是用數字圖像或數字序列中某壹點的鄰域內各點的中值代替該點的值,使周圍像素值接近真實值,從而消除孤立的噪聲點。它對於斑點噪聲和椒鹽噪聲特別有用,因為它不依賴於。在處理連續圖像窗口函數時,中值濾波器的工作方式類似於線性濾波器,但濾波過程不再是加權操作。

在壹定條件下,中值濾波可以克服常用的線性濾波器如最小均方濾波、塊濾波、均值濾波等造成的圖像細節模糊。,在濾除脈沖幹擾和圖像掃描噪聲方面非常有效。它還經常用於保護邊緣信息,保留邊緣的特性使它在不希望出現邊緣模糊的情況下非常有用。這是壹個非常經典的平滑噪聲處理方法。

與均值濾波相比:

說明:在壹定條件下,中值濾波可以克服線性濾波器(如均值濾波等)造成的圖像細節模糊。),而且濾除脈沖幹擾即圖像掃描噪聲是最有效的。實際運算過程中不需要圖像的統計特征,這也給計算帶來了很多方便。但是中值濾波不適合壹些細節較多的圖像,尤其是線條和尖頂。

雙邊濾波是壹種非線性濾波方法,將圖像的空間鄰近性和像素值的相似性結合起來,同時考慮空間信息和灰度相似性,達到保邊去噪的目的。它是簡單的、非叠代的和局部的。

雙邊濾波的優點是可以保留邊緣。壹般過去使用的維納濾波或高斯濾波會明顯模糊邊緣,對於高頻細節的保護效果不明顯。顧名思義,雙邊濾波器比高斯濾波器多了壹個高斯方差適馬-D,這是壹個基於空間分布的高斯濾波函數,所以邊緣附近較遠的像素不會對邊緣上的像素值產生太大的影響,從而保證了邊緣附近像素值的保存。但是由於保存了過多的高頻信息,雙邊濾波器無法幹凈地濾除彩色圖像中的高頻噪聲,只能很好地濾除低頻信息。

運行結果

學習目標:

形態學變換是基於圖像形狀的壹些簡單操作。它通常在二進制圖像上執行。

通過膨脹和腐蝕實現的功能

侵蝕的基本思想就像土壤侵蝕壹樣,會侵蝕前景物體的邊界(總是試圖讓前景保持白色)。那麽它是做什麽的呢?內核在圖像中滑動(如在2D卷積中)。只有當內核下的所有像素都是1時,原圖像中的像素(1或0)才會被視為1,否則會被侵蝕(變成零)。

erode(src,kernel[,dst[,anchor[,iterations[,borderType[,border value]]])-& gt;夏令時

與腐蝕的操作相反。如果內核下至少有壹個像素是“1”,那麽像素元素就是“1”。因此,它會增加圖像中白色區域或前景對象的大小。通常,在去除噪聲的情況下,侵蝕之後是膨脹。因為侵蝕會消除白噪音,但也會使我們的物體縮小。所以我們擴展它。隨著噪音的消失,它們不會再回來,但是我們的對象面積會增加。它也可以用來連接壹個物體的斷裂部分。