1. 程式人生 > >Python+OpenCV學習(10)---SURF

Python+OpenCV學習(10)---SURF

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。

SIFT特徵具有平移、旋轉、尺度和光照不變性,在計算機視覺中應用廣泛。但是其計算量相對比較大,SURF就是一種加速版的SIFT。在保證特徵準確提取的前提下大大提高了程式的速率,使得整個演算法的效能得到較大的提升

下面是利用python語言結合OpenCV進行SURF特徵檢測的程式碼:

# -*- coding:utf-8 -*-
__author__ = 'Microcosm'

import cv2
import numpy as np

img = cv2.imread("E:\python\Python Project\opencv_showimage\images\lena.jpg")

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# surf.hessianThreshold=3000
surf = cv2.SURF(3000)

kp,res = surf.detectAndCompute(gray,None)
print res.shape

img = cv2.drawKeypoints(img,kp,None,(255,0,255),4)
print(len(kp))

cv2.namedWindow("SURF")
cv2.imshow("SURF", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

執行結果為:



相關推薦

Python+OpenCV學習10---SURF

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 SIFT特徵具有平移、

Python+OpenCV學習12---特徵匹配

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 下面是利用python

Python+OpenCV學習2---影象的合併與拆分

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,

Python+OpenCV學習20---對極幾何

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 在我們使用針孔相機時,

Python+OpenCV學習18---雙目視覺深度資訊恢復

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,

Python+OpenCV學習6---傅立葉變換

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 下面是學習傅立葉變換的

Python+OpenCV學習13---meanshift目標跟蹤

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 下面是利用python

Python+OpenCV學習15---Lucas Kanade 角點光流軌跡跟蹤

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 Lucas Kanad

Python+OpenCV學習4---影象梯度及邊緣檢測

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,

Python+OpenCV學習9---SIFT

利用python學習OpenCV,個人感覺比較方便。函式的形式與C++基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境PyCharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。 下面是利用python

Python學習10——常用的內建模組

跳過程序執行緒 跳過正則 1、datetime:處理日期和時間的標準庫 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431937554888869fb52

Pytorch 學習10Python Cython擴充套件python pyx程式碼-----C 程式碼 ----python程式碼呼叫

 Cython是具有C資料型別的Python,幾乎任何一個Python程式碼都是有效的Cython程式碼。Cython編譯器將把python程式碼轉換成C程式碼,對Python/C API進行等效呼叫。  python程式碼------>C 程式碼 -------&g

OpenCV計算機視覺學習10——影象變換傅立葉變換,高通濾波,低通濾波

如果需要處理的原圖及程式碼,請移步小編的GitHub地址   傳送門:請點選我   如果點選有誤:https://github.com/LeBron-Jian/ComputerVisionPractice   在數字影象處理中,有兩個經典的變換被廣泛應用——傅立葉變換和霍夫變化。其中,傅立葉變換主要是將時間域

Python基礎學習

python 函數 集合 Python 集合: set 顧明思義,就是個集合,集合的元素是唯一的,無序的。一個{ }裏面放一些元素就構成了一個集合,set裏面可以是多種數據類型(但不能是列表,集合,字典,可以是元組) 它可以對列表裏面的重復元素進行去重list1 = [1,2,3,23

基於Qt的OpenGL可編程管線學習10- 膨脹與腐蝕

qt opengl shader 腐蝕 膨脹 膨脹:取一個像素周圍的點,取最亮的點為當前的點顏色,為膨脹效果腐蝕:取一個像素周圍的點,取最暗的點為當前的點顏色,為腐蝕效果膨脹Fragment Shadervarying vec2 M_coord; varying vec3 M_normal

Python基礎學習

func exe function 學習 typeerror exit invalid min eas #Default Argument Values & in keyworddef ask_ok(prompt, retres=4, reminder=‘pleas

java學習10:求最接近點對問題

sta poi span exti ++ null @override over max 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List

Python爬蟲學習

code time response utf path urllib quest ext .com Python訪問網頁主要使用包urllib 打開網頁使用 urllib.request.urlopen(url, data=None, [timeout, ]*, cafi

Python Tkinter學習

extent list ide 分享圖片 destroy 字符串 log point 值範圍 Python初學——窗口視窗Tkinter 1.1 什麽是 Tkinter Python自帶的可編輯的GUI界面,是一個圖像窗口。 Tkinter是使用

Python爬蟲學習1

數據 bin des fin load 寫入 all pytho urlopen 接觸python不久,也在慕課網學習了一些python相關基礎,對於爬蟲初步認為是依靠一系列正則獲取目標內容數據 於是參照著慕課網上的教學視頻,完成了我的第一個python爬蟲,雞凍 >