opencv教程-霍夫變換、圖像分割

2020-12-17 桔子的算法之路

opencv示例的圖片和視頻:https://github.com/opencv/opencv/tree/master/samples/data

1:模板匹配

opencv裡的模板匹配就不說了,也就是從當前圖像提取模板圖像匹配還好,換一個不同圖片的模板就不行了,而且對縮放的模板匹配效果也很差,就說下基本流程如下:

圖像灰度化→cv2.matchTemplate→cv2.minMaxLoc

2:霍夫變換

這裡有兩個:霍夫線性變換、霍夫圓形變換,可以用來檢測直線和圓。

霍夫線性變換:

霍夫線性概率變換:

霍夫圓形變換:

3:圖像分割之分水嶺算法

這裡使用的是分水嶺算法,基本流程如下:

圖像灰度化→圖像二值化→圖像去噪→圖像腐蝕膨脹→圖像距離計算(前景到背景的距離)→基於距離的閾值化(變瘦,得到前景的中心、骨架)→背景減已確定前景得到可能的邊界區域→通過已確定前景得到連通區域markers→設置markers中可能的邊界區域為0→調用分水嶺算法→-1的即為邊界線。

5:圖像分割之GrabCut算法

這裡的mask有兩種方式獲取,一種就是在圖中劃定rect區域,自動計算mask(這種方式可能背景會在rect內);另一種就是手動設置mask,比如在原圖中選擇前景設置為255,背景設置為0,然後轉換為mask就是把255部分設置為1,0的部分設置為0。

感興趣的可以關注weixin gongzhonghao(*^_^*):桔子的算法之路

相關焦點

  • opencv教程-圖像反向投影
    先回顧下圖像直方圖,接口如下,比如使用灰度圖像:hist = cv.calcHist([img_gray], [0], None, [5], [0,256], accumulate=False)[0]:說明使用的第一個通道,灰度圖的話只能是0了;如果是彩色圖
  • 基於opencv 的圖像處理入門教程
    前言雖然計算機視覺領域目前基本是以深度學習算法為主,但實際上很多時候對圖片的很多處理方法,並不需要採用深度學習的網絡模型,採用目前成熟的圖像處理庫即可實現,比如 OpenCV 和 PIL ,對圖片進行簡單的調整大小、裁剪、旋轉,或者是對圖片的模糊操作。
  • python 基於opencv 繪製圖像輪廓
    這篇文章主要介紹了python 基於opencv 繪製圖像輪廓的示例,幫助大家更好的利用python的opencv庫處理圖像,感興趣的朋友可以了解下
  • OpenCV系列(14)|點集凸包
    代碼:#include "opencv2/imgproc.hpp"#include "opencv2/highgui.hpp"#include <iostream>using namespace cv;using namespace
  • 仿射變換和透視變換
    前言在前面做換臉的博客中提到了使用仿射變換和透視變換將兩張不同的人臉基於關鍵點進行對齊,保證一張人臉貼到另一張人臉時,大小完全一致;所以有必要理解一下這兩個概念的區別,由於以實用性為目的,所以所有的圖像算法都會以opencv為例,去探索其用法。
  • Numpy和OpenCV中的圖像幾何變換
    介紹上面的圖像使它不言而喻什麼是幾何變換。它是一種應用廣泛的圖像處理技術。例如,在計算機圖形學中有一個簡單的用例,用於在較小或較大的屏幕上顯示圖形內容時簡單地重新縮放圖形內容。它也可以應用於扭曲一個圖像到另一個圖像平面。例如,與其直視前方的場景,不如自上而下地看。在這個場景中應用透視圖變換來實現這一點。
  • opencv教程-輪廓檢測
    1:輪廓檢測的基本流程圖像灰度化→圖像二值化或邊緣檢測→輪廓檢測2:輪廓特徵輪廓矩,面積,周長等>6:擬合橢圓7:輪廓的常用屬性https://docs.opencv.orgcv2.CHAIN_APPROX_NONE - 將所有點由鏈碼形式翻譯(轉化)為點序列形式cv2.CHAIN_APPROX_SIMPLE - 壓縮水平、垂直和對角分割,即函數隻保留末端的像素點;cv2.CHAIN_APPROX_TC89_L1,
  • python利用opencv實現證件照換底
    opencv今天就給大家介紹一下python利用opencv庫進行藍底換紅底或者白底照片的操作。1.強大的opencv庫說到圖像處理,不得不提opencv庫。它是一個跨平臺的計算機視覺庫,可以運行在不同作業系統上,它由一些列c函數和少量c++函數組成,並提供python,matlab等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
  • OpenCV人臉識別之一:數據收集和預處理
    人臉檢測可以利用opencv自帶的分類器,但是人臉識別就需要自己收集數據,自己訓練分類器了。opencv給出的有人臉識別的教程:Face Recognition with OpenCV(https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html)。網上也可以找到中文版本的。
  • 怎麼玩轉Appium圖像識別技術OpenCV,這波操作你必須GET!
    Appium 在 V1.9.0 中給我們帶來了針對圖像識別的全新圖片元素定位的方法:-image在 Appium 中用到的圖像識別庫是 OpenCV,因為在 Appium V1.9.0 中-image查找元素方式才被引入進來,所以需要保證你有安裝 V1.9.0 或以上版本的 Appium。
  • 見圖像傳統處理算法-邊緣檢測-分割-增強-降噪
    基於邊緣檢測的分割方法基於邊緣檢測的圖像分割算法試圖通過檢測包含不同區域的邊緣來解決分割問題。通常不同區域的邊界上像素的灰度值變化比較劇烈,如果將圖片從空間域通過傅立葉變換到頻率域,邊緣就對應著高頻部分,這是一種非常簡單的邊緣檢測算法。
  • 「python opencv 計算機視覺零基礎實戰」第一節
    前置條件說明:本系列opencv實戰教程將從基礎到實戰,若只是簡單學習完python也可以通過該教程完成一般的機器學習編程;文中將會對很多python的基礎內容進行講解,但由於文章定位的原因將不會贅述過多的基礎內容,基礎內容進行第一次講解後第二次將不會過多贅述,本文主要講解的是opencv相關知識。
  • 使用OpenCV進行圖像編輯--繪畫和素描
    點擊上方↑↑↑「OpenCV學堂」關注我
  • OpenCV黑魔法之隱身衣
    time.sleep(3)background=0for i in range(30): ret,background = cap.read()# Laterally invert the image / flip the image.background = np.flip(background,axis=1)在上面的代碼中,cap.read()方法使我們能夠通過相機捕獲最新的幀
  • OpenCV-Python 傅立葉變換|三十
    目標在本節中,我們將學習使用OpenCV查找圖像的傅立葉變換利用Numpy中可用的FFT函數傅立葉變換的某些應用程式我們將看到以下函數:cv.dft(),cv.idft()等理論傅立葉變換用於分析各種濾波器的頻率特性。對於圖像,使用2D離散傅立葉變換(DFT)查找頻域。一種稱為快速傅立葉變換(FFT)的快速算法用於DFT的計算。
  • OpenCV黑魔法之隱身衣 | 附源碼
    事實上,你可以用一種叫做顏色檢測和分割的圖像處理技術來創造這種神奇的體驗。好消息是,你不需要成為霍格沃茨的一員!你所需要的是一塊紅色的布,並遵循這篇文章。看看下面的視頻,我在那裡嘗試我自己的隱形衣!顏色堅持+分割的demo效果該算法在原理上與綠幕非常相似。
  • 百度飛槳AI快車道圖像語義分割專場(北京站)報名啟動!
    隨著計算機視覺的發展,圖像語義分割技術逐漸映入人們的眼帘,因其廣泛的應用性而備受人們的重視。圖像語義分割是圖像理解的重要基石,在自動駕駛系統、無人機應用、工業質檢等應用中舉足輕重。語義分割模型通過神經網絡、深度學習訓練圖像,將對圖像對象的識別轉化為對像素的識別。
  • 用OpenCV 去除圖片中的水印,騷操作!
    參考連接:https://stackoverflow.com/questions/32125281/removing-watermark-out-of-an-image-using-opencv好久不見,大家好啊,最近太忙了,搞得好久沒更原創文了(說到底還是懶,),
  • 畢業設計| 樹莓派3B+與opencv3+PyQt5實現人臉識別門禁系統
    id=9d025059ad0326d9511ea4fc2bea321b&type=note注意:opencv-python庫、opencv-contrib-python庫這兩個庫的版本要一致。opencv-contrib-python庫是opencv-python庫的升級版,人臉識別的算法在裡面。
  • OpenCV實現人臉對齊
    OpenCV實現人臉對齊一:人臉對齊介紹在人臉識別中有一個重要的預處理步驟-人臉對齊,該操作可以大幅度提高人臉識別的準確率與穩定性,但是早期的OpenCV版本不支持人臉Landmark檢測,因此一般都是通過對人臉進行分割