OpenCV半小時(shí)掌握基本操作之角點(diǎn)檢測
概述
OpenCV 是一個(gè)跨平臺的計(jì)算機(jī)視覺庫, 支持多語言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界.
角點(diǎn)檢測
角點(diǎn)檢測 (Corner Detection) 是圖像的重要特征. 角點(diǎn)可以幫助我們實(shí)現(xiàn)圖像對其, 圖像拼接, 目標(biāo)識別等等重要用途.
Harris 角點(diǎn)檢測 (Harris Corner Detection) 是最基礎(chǔ)也是最重要的一種角點(diǎn)檢測算法. 通過計(jì)算圖像在 x, y 上平移的自相似性 (Self-Similarity) 來判斷圖像是否為角點(diǎn).
例如: 某圖像的某個(gè)位置在 x / y 方向上做微小的滑動(dòng), 如果窗口內(nèi)的灰度值都有較大變換, 那么這個(gè)位置就是角點(diǎn).
角點(diǎn)檢測代碼
格式:
cv2.cornerHarris(src, blockSize, ksize, k, dst=None, borderType=None)
參數(shù):
- scr: 輸入圖像
- blockSize: 焦點(diǎn)檢測中指定區(qū)域的大小
- ksize: Sobel 求導(dǎo)中使用的窗口大小
- ksize: Sobel 孔徑參數(shù), 取值范圍為 [0.04, 0.06]
例1 :
import numpy as np import cv2 # 讀取圖片 image = cv2.imread("house.jpg") # 轉(zhuǎn)換成灰度圖 image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # harris角點(diǎn)檢測 harris = cv2.cornerHarris(image_gray, 2, 3, 0.04) # 閾值轉(zhuǎn)換原圖 image_corner = image.copy() image_corner[harris > 0.01 * harris.max()] = [0, 0, 255] # 整合 combine = np.hstack((image, image_corner)) # 圖片展示 cv2.imshow("origional vs corner detection", combine) cv2.waitKey(0) cv2.destroyAllWindows() # 保存結(jié)果 cv2.imwrite("harris.jpg", combine)
輸出結(jié)果:
例 2:
import numpy as np import cv2 # 讀取圖片 image = cv2.imread("house2.jpg") # 轉(zhuǎn)換成灰度圖 image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # harris角點(diǎn)檢測 harris = cv2.cornerHarris(image_gray, 2, 3, 0.04) # 閾值轉(zhuǎn)換原圖 image_corner = image.copy() image_corner[harris > 0.1 * harris.max()] = [0, 0, 255] # 整合 combine = np.hstack((image, image_corner)) # 圖片展示 cv2.imshow("origional vs corner detection", image_corner) cv2.waitKey(0) cv2.destroyAllWindows() # 保存結(jié)果 cv2.imwrite("harris.jpg", combine)
輸出結(jié)果:
到此這篇關(guān)于OpenCV半小時(shí)掌握基本操作之角點(diǎn)檢測的文章就介紹到這了,更多相關(guān)OpenCV角點(diǎn)檢測內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。