午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > OpenCV全景圖像拼接的實現示例

OpenCV全景圖像拼接的實現示例

熱門標簽:北瀚ai電銷機器人官網手機版 所得系統電梯怎樣主板設置外呼 朝陽手機外呼系統 市場上的電銷機器人 小蘇云呼電話機器人 佛山400電話辦理 北京電銷外呼系統加盟 地圖標注面積 儋州電話機器人

本文主要介紹了OpenCV全景圖像拼接的實現示例,分享給大家,具體如下:

left_01.jpg

right_01.jpg

Stitcher.py

import numpy as np
import cv2
 
class Stitcher:
 
    #拼接函數
    def stitch(self, images, ratio=0.75, reprojThresh=4.0,showMatches=False):
        #獲取輸入圖片
        (imageB, imageA) = images
        #檢測A、B圖片的SIFT關鍵特征點,并計算特征描述子
        (kpsA, featuresA) = self.detectAndDescribe(imageA)
        (kpsB, featuresB) = self.detectAndDescribe(imageB)
 
        # 匹配兩張圖片的所有特征點,返回匹配結果
        M = self.matchKeypoints(kpsA, kpsB, featuresA, featuresB, ratio, reprojThresh)
 
        # 如果返回結果為空,沒有匹配成功的特征點,退出算法
        if M is None:
            return None
 
        # 否則,提取匹配結果
        # H是3x3視角變換矩陣      
        (matches, H, status) = M
        # 將圖片A進行視角變換,result是變換后圖片
        result = cv2.warpPerspective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0]))
        self.cv_show('result', result)
        # 將圖片B傳入result圖片最左端
        result[0:imageB.shape[0], 0:imageB.shape[1]] = imageB
        self.cv_show('result', result)
        # 檢測是否需要顯示圖片匹配
        if showMatches:
            # 生成匹配圖片
            vis = self.drawMatches(imageA, imageB, kpsA, kpsB, matches, status)
            # 返回結果
            return (result, vis)
 
        # 返回匹配結果
        return result
    def cv_show(self,name,img):
        cv2.imshow(name, img)
        cv2.waitKey(0)
        cv2.destroyAllWindows()
 
    def detectAndDescribe(self, image):
        # 將彩色圖片轉換成灰度圖
        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
 
        # 建立SIFT生成器
        descriptor = cv2.xfeatures2d.SIFT_create()
        # 檢測SIFT特征點,并計算描述子
        (kps, features) = descriptor.detectAndCompute(image, None)
 
        # 將結果轉換成NumPy數組
        kps = np.float32([kp.pt for kp in kps])
 
        # 返回特征點集,及對應的描述特征
        return (kps, features)
 
    def matchKeypoints(self, kpsA, kpsB, featuresA, featuresB, ratio, reprojThresh):
        # 建立暴力匹配器
        matcher = cv2.BFMatcher()
  
        # 使用KNN檢測來自A、B圖的SIFT特征匹配對,K=2
        rawMatches = matcher.knnMatch(featuresA, featuresB, 2)
 
        matches = []
        for m in rawMatches:
            # 當最近距離跟次近距離的比值小于ratio值時,保留此匹配對
            if len(m) == 2 and m[0].distance  m[1].distance * ratio:
            # 存儲兩個點在featuresA, featuresB中的索引值
                matches.append((m[0].trainIdx, m[0].queryIdx))
 
        # 當篩選后的匹配對大于4時,計算視角變換矩陣
        if len(matches) > 4:
            # 獲取匹配對的點坐標
            ptsA = np.float32([kpsA[i] for (_, i) in matches])
            ptsB = np.float32([kpsB[i] for (i, _) in matches])
 
            # 計算視角變換矩陣
            (H, status) = cv2.findHomography(ptsA, ptsB, cv2.RANSAC, reprojThresh)
 
            # 返回結果
            return (matches, H, status)
 
        # 如果匹配對小于4時,返回None
        return None
 
    def drawMatches(self, imageA, imageB, kpsA, kpsB, matches, status):
        # 初始化可視化圖片,將A、B圖左右連接到一起
        (hA, wA) = imageA.shape[:2]
        (hB, wB) = imageB.shape[:2]
        vis = np.zeros((max(hA, hB), wA + wB, 3), dtype="uint8")
        vis[0:hA, 0:wA] = imageA
        vis[0:hB, wA:] = imageB
 
        # 聯合遍歷,畫出匹配對
        for ((trainIdx, queryIdx), s) in zip(matches, status):
            # 當點對匹配成功時,畫到可視化圖上
            if s == 1:
                # 畫出匹配對
                ptA = (int(kpsA[queryIdx][0]), int(kpsA[queryIdx][1]))
                ptB = (int(kpsB[trainIdx][0]) + wA, int(kpsB[trainIdx][1]))
                cv2.line(vis, ptA, ptB, (0, 255, 0), 1)
 
        # 返回可視化結果
        return vis

ImageStiching.py

from Stitcher import Stitcher
import cv2
 
# 讀取拼接圖片
imageA = cv2.imread("left_01.jpg")
imageB = cv2.imread("right_01.jpg")
 
# 把圖片拼接成全景圖
stitcher = Stitcher()
(result, vis) = stitcher.stitch([imageA, imageB], showMatches=True)
 
# 顯示所有圖片
cv2.imshow("Image A", imageA)
cv2.imshow("Image B", imageB)
cv2.imshow("Keypoint Matches", vis)
cv2.imshow("Result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

運行結果:

如遇以下錯誤:

cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cpp:1207: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function ‘cv::xfeatures2d::SIFT::create'

如果運行OpenCV程序提示算法版權問題可以通過安裝低版本的opencv-contrib-python解決:

pip install --user opencv-contrib-python==3.3.0.10

到此這篇關于OpenCV全景圖像拼接的實現示例的文章就介紹到這了,更多相關OpenCV 圖像拼接內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python opencv進行圖像拼接
  • opencv2基于SURF特征提取實現兩張圖像拼接融合
  • python+OpenCV實現圖像拼接
  • python opencv 圖像拼接的實現方法
  • OpenCV實現多圖像拼接成一張大圖
  • opencv實現多張圖像拼接
  • Opencv使用Stitcher類圖像拼接生成全景圖像

標簽:云南 江蘇 寧夏 金融催收 酒泉 龍巖 定西 商丘

巨人網絡通訊聲明:本文標題《OpenCV全景圖像拼接的實現示例》,本文關鍵詞  OpenCV,全景,圖像,拼接,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《OpenCV全景圖像拼接的實現示例》相關的同類信息!
  • 本頁收集關于OpenCV全景圖像拼接的實現示例的相關信息資訊供網民參考!
  • 推薦文章
    日本黄色中文字幕| 中文字幕一区二区三区av | 国产三级日本三级在线播放| 欧美主播福利视频| 精品少妇一区二区三区| 国产精品不卡一区| 日本一区二区久久| 国产日韩v精品一区二区| 裸体在线国模精品偷拍| 日本一区二区不卡在线| 丁香花五月激情| 无码人妻精品一区二区中文| 污版视频在线观看| 日韩精品在线中文字幕| 亚洲淫片在线视频| 91成人免费在线观看| 91九色单男在线观看| 超在线视频97| 亚洲国产91精品在线观看| 91精品国产色综合久久不卡电影 | 91精品国产麻豆| 精品久久人人做人人爱| 色94色欧美sute亚洲13| 欧美日韩亚州综合| 一区二区三区四区在线免费观看| 成人av电影在线网| 精品在线观看免费| 2023国产精品自拍| 亚洲少妇30p| 亚洲伊人伊色伊影伊综合网| 亚洲天堂久久av| 国产情侣激情自拍| 天天色天天综合网| 亚洲va电影大全| 45www国产精品网站| 九九精品在线观看| 国产精品丝袜久久久久久高清| 国产精品久久99久久| 亚洲最大激情中文字幕| 久久精品国产第一区二区三区最新章节| 深夜精品寂寞黄网站在线观看| 久久综合色影院| 91精品国产沙发| 国产伦精品一区二区三区免费视频 | 国产激情在线观看视频| 亚洲精品视频三区| mm131国产精品| 欧美高清视频一区二区三区| 国产一级aa大片毛片| 亚洲国产精品二区| 99精品久久免费看蜜臀剧情介绍| 国产精品69毛片高清亚洲| 夜夜嗨av一区二区三区| 一区二区在线视频播放| 国产一区玩具在线观看| 青青青在线视频播放| 国产a级片免费观看| 成人免费看片98| xxxx国产精品| 亚洲美女屁股眼交| 北条麻妃99精品青青久久| 韩国19禁主播vip福利视频| 国产精品久久91| 国产精品乱码久久久久| 少妇极品熟妇人妻无码| 亚洲天堂中文在线| 亚洲免费av高清| 亚洲视频日韩精品| 国产精品一区二区久久国产| 午夜精品久久久内射近拍高清 | h无码动漫在线观看| 久久国产免费视频| 少妇人妻偷人精品一区二区| 色综合激情五月| 国产精品视频内| 精品国产乱码久久久久久1区二区| 无码一区二区三区| 国产精品一二三在| 日韩欧美中文在线| 日韩在线免费视频| 欧美又粗又长又爽做受| 男人操女人动态图| av午夜一区麻豆| 日韩一区二区三区视频| 日本亚洲欧洲色| 国内自拍第二页| 懂色av蜜臀av粉嫩av喷吹| 天堂在线亚洲视频| 亚洲成人网av| 路边理发店露脸熟妇泻火| 日韩不卡在线播放| 久久久久久久一区| 777777777亚洲妇女| 日韩久久久久久久久久久久| 成年人免费看毛片| 欧美日韩中文字幕在线视频| 91免费版网站入口| 日本黄区免费视频观看| 亚洲欧美精品午睡沙发| 92国产精品视频| 午夜剧场免费看| 久久综合久久综合久久| 中文字幕日韩电影| 免费看a级黄色片| 久久国产精品露脸对白| 精品久久久久香蕉网| 国产一二三四区在线观看| 欧美精品一区二区成人| 色综合色狠狠综合色| 亚洲自拍的二区三区| 婷婷在线观看视频| 在线成人免费观看| 亚洲国产精品毛片av不卡在线| 国产综合色产在线精品| 97国产suv精品一区二区62| 亚洲精品视频导航| 久久久久久一二三区| 国产欧美一区二区视频| 亚洲黄色在线播放| 久久免费少妇高潮久久精品99| 肉色超薄丝袜脚交| 日欧美一区二区| 国产成人欧美在线观看| 特级西西人体wwwww| 一本久久a久久免费精品不卡| 精品久久久久久无码中文野结衣| 性色av蜜臀av| 亚洲精品永久免费精品| 法国空姐电影在线观看| 椎名由奈av一区二区三区| 欧美精品久久| 午夜精品一区二区三| 欧美在线视频一区二区| 国产在线观看第一页| 中文字幕精品久久| 性欧美18—19sex性高清| 久久精品欧美日韩精品| 亚洲精品tv久久久久久久久| 成人综合在线观看| 成人在线视频电影| 中文字幕日韩第一页| 久久天天躁夜夜躁狠狠躁2022| 欧美一级视频免费观看| 欧美精品久久一区二区三区| 免费av网址在线| 亚洲一线二线三线久久久| 男人天堂av片| 97久久人人超碰| 成年女人18级毛片毛片免费| 国产亚洲综合性久久久影院| av在线播放天堂| 亚洲午夜成aⅴ人片| a级免费在线观看| 亚洲欧美激情小说另类| 美女被爆操网站| 欧美一级片免费看| 久久亚洲国产成人精品性色| 97视频com| 韩国av一区二区三区在线观看| 五月天久久综合网| 国产欧美一区二区精品久导航| 亚洲欧洲三级电影| 精品免费视频123区| 国产成人免费视频一区| 乱一区二区三区在线播放| 97久久超碰国产精品| 日本福利视频导航| 狠狠躁夜夜躁人人爽超碰91| 国产伦精品一区二区三区视频女| 欧美久久久久中文字幕| 91精品国产乱码久久久张津瑜| 国产在线播放不卡| 精品中文av资源站在线观看| 日日摸日日碰夜夜爽无码| 亚洲高清免费观看高清完整版在线观看 | 亚洲制服丝袜av| 日韩一级免费看| 亚洲欧洲国产日本综合| 欧美午夜精品一区二区| 欧美顶级少妇做爰| 99精品人妻国产毛片| 国产一区二区免费在线观看| 久久综合久久鬼色中文字| 999久久久精品视频| 在线观看精品国产视频| 日本女人一区二区三区| 一本色道久久综合亚洲二区三区| 亚洲高清免费观看 | 欧美日韩国产中文精品字幕自在自线| 三级影片在线看| 成人情视频高清免费观看电影| 成人黄色一级视频| 超碰97人人干| 国产精品福利在线观看网址| 国产精品毛片高清在线完整版| 日韩人妻无码精品综合区| 精品综合久久久久久97| 麻豆91小视频| 亚洲熟妇一区二区三区| 亚洲综合最新在线| 一区二区三区在线视频观看58| 亚洲波多野结衣| 伊人情人网综合| 91精品国产综合久久精品app| 日韩永久免费视频| 亚洲精品少妇一区二区| 中文字幕日韩免费视频| 国产区在线观看成人精品| 东方av正在进入| 日本精品一区| 日韩精品视频中文在线观看| 国产一二精品视频| 国产女人18毛片水真多18| 91亚洲精品久久久| 欧美精品在线观看一区二区| 天堂8在线视频| 黄瓜视频污在线观看| 鲁鲁视频www一区二区| 亚洲福利视频网| 色窝窝无码一区二区三区成人网站| theporn国产精品| 91pron在线| 日韩在线视频网站| 亚洲男人的天堂在线观看| 一级全黄少妇性色生活片| 毛片av免费在线观看| 久久人人爽人人爽爽久久| 国产精品欧美久久久久一区二区| 成人在线观看小视频| 亚洲日本精品| 成人黄色免费在线观看| 中文字幕欧美日韩在线| 欧美性videos高清精品| 国产高清在线观看免费不卡| 伊人网在线视频观看| 宅男一区二区三区| 3d精品h动漫啪啪一区二区| 亚洲国产美女精品久久久久∴| 亚洲女与黑人做爰| 最近中文字幕免费观看| 在线天堂www在线国语对白| 五月天综合网| 亚洲专区在线视频| 亚洲精品一线二线三线无人区| 亚洲另类在线视频| 美女精品自拍一二三四| 69av视频在线观看| 国产精品无码一区二区三区| 欧美日韩在线成人| 亚洲欧美精品| 999久久久| 不卡av电影在线观看| 亚洲男人天堂久| 欧美视频中文字幕在线| 不卡视频一二三| 免费高清不卡av| 精品国产一级片| 日韩黄色一级视频| youjizz亚洲女人| 亚洲午夜久久久久久久久红桃| 成人性生活视频免费看| 奇米一区二区三区四区久久| 日韩电影中文字幕av| 福利一区视频在线观看| 久久久精品免费网站| 日本视频在线一区| 国产福利视频导航| 欧美成人国产精品一区二区| 亚洲精品高清无码视频| 美女扒开大腿让男人桶| 久久精品女人的天堂av| 裸体丰满少妇做受久久99精品| 国产99在线播放| 亚洲国产精品视频一区| 亚洲成人精品电影在线观看| 日本成人看片网址| 亚洲一区二区三区乱码| 日韩一级特黄毛片| 成人羞羞国产免费网站| 污视频在线免费观看一区二区三区| 粉嫩高清一区二区三区精品视频| 国产999在线| 国产精品久久中文| 久久精品国产综合精品| 国产福利不卡| 干日本少妇视频| 在线观看的毛片| 99久久久无码国产精品性 | 免费观看特级毛片| 男操女视频网站| 亚洲AV第二区国产精品| 日韩va欧美va亚洲va久久| 日韩成人精品在线观看| 国产剧情一区二区三区| 国产精品日韩成人| 亚洲精品国产品国语在线app| 久久夜色精品一区| 天天色 色综合| 亚洲成avwww人| 久久久久中文字幕2018| 日韩中文字幕视频在线观看| 青青草原成人在线视频| 国产精品ⅴa在线观看h| 欧美日韩在线观看一区| 天天成人综合网| 91丨porny丨九色| 国产精品黄色大片| 蜜桃视频在线一区| 久久久综合网站| 欧美色播在线播放| 久久久久久久一| 狠狠色综合色区| 日韩中文字幕组| 国产一级久久久| 国产成人av一区二区三区在线| 国产欧美一区二区精品婷婷| 精品国产在天天线2019| 欧洲精品在线视频| 国产高清www| 在线观看亚洲大片短视频| 国产尤物在线视频| 久热成人在线视频| 狠狠色噜噜狠狠狠狠97| 性欧美xxxx交| 一区二区三区国| 影音先锋男人看片资源| 三级精品在线观看| 欧美日韩高清一区二区不卡| 91精品美女在线| 亚洲综合自拍网| 日韩亚洲国产中文字幕| 一区二区三区精品| 欧美妇女性影城| 俺也去精品视频在线观看| 欧美日韩国产三区| 26uuu成人网| 久久久久久麻豆| 色偷偷偷亚洲综合网另类| 亚洲激情免费视频| 国产精品23p| 一区二区三区在线观看视频| 超碰97人人做人人爱少妇| 亚洲欧美久久久久一区二区三区| 亚洲自拍偷拍一区二区| 成人黄色大片在线观看 | 一级黄色免费毛片| 国产一区二区福利视频| 精品亚洲国产视频| 久久久成人精品一区二区三区| 自拍偷拍校园春色| 欧美日韩国产在线观看| 国内成+人亚洲| 亚洲精品www久久久久久| 亚洲精品乱码久久久久久黑人 | 国产成人a人亚洲精品无码| 欧美一区二区在线播放| 鲁鲁视频www一区二区| 中文人妻av久久人妻18| 日韩欧美中文字幕一区| 亚洲春色在线视频| 国产精品无码免费播放 | 午夜激情视频在线播放| 国产91精品一区二区麻豆网站| 久久躁狠狠躁夜夜爽| 亚洲av成人片无码| 国产精品嫩草影院com| 91在线精品视频| 日韩精品在线免费看| 亚洲午夜电影在线| 日韩欧美国产二区| 国产精品老熟女视频一区二区| 亚洲精品天天看| 4438x全国最大成人| 亚洲色图欧美在线| 欧美一区二区三区电影在线观看| 国语对白一区二区| 亚洲精品久久久一区二区三区| 亚洲 国产 图片| 中文字幕亚洲成人| 日韩av在线电影观看| 色呦呦视频在线| 国产欧美日韩专区发布| 日本高清不卡码| 日韩精品视频免费专区在线播放| 国产日韩成人内射视频| 国产mv日韩mv欧美| 国产综合精品一区二区三区| 五月婷中文字幕| 91精品美女在线| 91丨九色丨丰满| 欧美精品九九久久| 91tv国产成人福利| 中文字幕欧美精品在线| 九九这里只有精品视频| 亚洲国产精品专区久久| 你懂得在线观看| 日韩视频永久免费观看| 综合网在线观看| 午夜精品在线视频| 日本激情一区二区| 成人看片视频| 99国产一区二区三精品乱码| 一区二区在线观看网站| 久久久777精品电影网影网| 黄色成人在线看| 午夜婷婷国产麻豆精品| 日本不卡视频一区| 亚洲一区999| 欧美 日韩 综合| 好吊色欧美一区二区三区四区 |