如何在python中使用opencv實現圖像拼接-創新互聯

如何在python中使用opencv實現圖像拼接?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創新互聯是一家集網站建設,依蘭企業網站建設,依蘭品牌網站建設,網站定制,依蘭網站建設報價,網絡營銷,網絡優化,依蘭網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

實現上述效果的步驟如下:

1. 采用surft特征檢測算法檢測兩幅圖像的關鍵特征點;

2. 建立FLANN匹配器,采用目前最快的特征匹配(最近鄰搜索)算法FlannBasedMatcher匹配關鍵點

3.從所匹配的全部關鍵點中篩選出優秀的特征點(基于距離篩選)

4. 根據查詢圖像和模板圖像的特征描述子索引得出仿射變換矩陣

5. 獲取左邊圖像到右邊圖像的投影映射關系

6. 透視變換將左圖像放在相應的位置

7. 將有圖像拷貝到特定位置完成拼接

先放python下利用opencv 進行圖像拼接的代碼,環境為python2.7+opencv2:

#coding: utf-8
import numpy as np
import cv2
leftgray = cv2.imread('1.jpg')
rightgray = cv2.imread('2.jpg')
hessian=400
surf=cv2.SURF(hessian) #將Hessian Threshold設置為400,閾值越大能檢測的特征就越少
kp1,des1=surf.detectAndCompute(leftgray,None) #查找關鍵點和描述符
kp2,des2=surf.detectAndCompute(rightgray,None)
FLANN_INDEX_KDTREE=0 #建立FLANN匹配器的參數
indexParams=dict(algorithm=FLANN_INDEX_KDTREE,trees=5) #配置索引,密度樹的數量為5
searchParams=dict(checks=50) #指定遞歸次數
#FlannBasedMatcher:是目前最快的特征匹配算法(最近鄰搜索)
flann=cv2.FlannBasedMatcher(indexParams,searchParams) #建立匹配器
matches=flann.knnMatch(des1,des2,k=2) #得出匹配的關鍵點
good=[]
#提取優秀的特征點
for m,n in matches:
 if m.distance < 0.7*n.distance: #如果第一個鄰近距離比第二個鄰近距離的0.7倍小,則保留
  good.append(m)
src_pts = np.array([ kp1[m.queryIdx].pt for m in good]) #查詢圖像的特征描述子索引
dst_pts = np.array([ kp2[m.trainIdx].pt for m in good]) #訓練(模板)圖像的特征描述子索引
H=cv2.findHomography(src_pts,dst_pts)   #生成變換矩陣
h,w=leftgray.shape[:2]
h2,w1=rightgray.shape[:2]
shft=np.array([[1.0,0,w],[0,1.0,0],[0,0,1.0]])
M=np.dot(shft,H[0])   #獲取左邊圖像到右邊圖像的投影映射關系
dst_corners=cv2.warpPerspective(leftgray,M,(w*2,h))#透視變換,新圖像可容納完整的兩幅圖
cv2.imshow('tiledImg1',dst_corners) #顯示,第一幅圖已在標準位置
dst_corners[0:h,w:w*2]=rightgray #將第二幅圖放在右側
#cv2.imwrite('tiled.jpg',dst_corners)
cv2.imshow('tiledImg',dst_corners)
cv2.imshow('leftgray',leftgray)
cv2.imshow('rightgray',rightgray)
cv2.waitKey()
cv2.destroyAllWindows()

看完上述內容,你們掌握如何在python中使用opencv實現圖像拼接的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!

文章題目:如何在python中使用opencv實現圖像拼接-創新互聯
分享URL:http://m.kartarina.com/article36/dcpcpg.html

成都網站建設公司_創新互聯,為您提供網站策劃響應式網站網站設計商城網站建站公司云服務器

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 无码人妻丰满熟妇啪啪| 亚洲日韩精品一区二区三区无码 | 一本色道久久综合无码人妻| 亚洲性无码AV中文字幕| 在线观看片免费人成视频无码 | 午夜麻豆国产精品无码| 亚洲午夜无码片在线观看影院猛| 永久免费AV无码网站国产| 永久免费av无码网站韩国毛片| 国精品无码一区二区三区在线蜜臀| 亚洲综合无码无在线观看| 东京热人妻无码人av| 好爽毛片一区二区三区四无码三飞| 久久精品无码免费不卡| 亚洲AV无码一区二区三区久久精品 | 久久无码人妻精品一区二区三区| 亚洲AV综合色区无码一二三区 | 亚洲AV无码一区二区三区网址| 免费a级毛片无码a∨免费软件| 亚洲日韩看片无码电影| 亚洲Av无码精品色午夜| 国产亚洲?V无码?V男人的天堂 | 无码Aⅴ在线观看| 久久精品无码一区二区无码| 国产成人精品无码一区二区| 无码专区6080yy国产电影| 性虎精品无码AV导航| 亚洲最大天堂无码精品区| 在线看无码的免费网站| 无码成A毛片免费| 免费无码成人AV在线播放不卡 | 亚洲av无码专区在线电影 | 无码人妻一区二区三区免费| 无码国产精品一区二区免费16| 国产成人精品无码一区二区 | 久久久久成人精品无码中文字幕| 国产成年无码久久久免费| 中文无码日韩欧免费视频| 国产在线拍揄自揄拍无码| 成在人线av无码免费高潮喷水| 亚洲综合无码AV一区二区|