使用python配合opencv实现图片拼接

超网络

有两张图片,它们具有相同的区域,例如:

在此处输入图片说明

在此处输入图片说明

我想拼接两张图片,我的代码如下

import numpy as np
import cv2

leftImg = cv2.imread('D:\\1.jpg')
rightImg = cv2.imread('D:\\2.jpg')
leftgray=cv2.cvtColor(leftImg,cv2.COLOR_BGR2GRAY)
rightgray=cv2.cvtColor(rightImg,cv2.COLOR_BGR2GRAY)

hessian=400
surf=cv2.SURF(hessian)
kp1,des1=surf.detectAndCompute(leftgray,None)
kp2,des2=surf.detectAndCompute(rightgray,None)


FLANN_INDEX_KDTREE=0
indexParams=dict(algorithm=FLANN_INDEX_KDTREE,trees=5)
searchParams=dict(checks=50)
flann=cv2.FlannBasedMatcher(indexParams,searchParams)
matches=flann.knnMatch(des1,des2,k=2)

h,w=leftgray.shape[:2]
good=[]
for m,n in matches:
    if m.distance < 0.7*n.distance:
        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)
dst_corners=cv2.warpPerspective(leftgray,H,(w*2,h))

dst_corners[0:h,w:w*2]=rightgray
cv2.imwrite('tiled.jpg',dst_corners)
cv2.imshow('tiledImg',dst_corners)

cv2.waitKey()
cv2.destroyAllWindows()

但我有一个错误,那就是

dst_corners=cv2.warpPerspective(leftgray,H,(w*2,h))

TypeError: M is not a numerical tuple

我该怎么办?请告诉我如何实现该功能,非常感谢!

牛顿

如果你打印单应矩阵,你就会明白你的错误。将此行更改为。

dst_corners=cv2.warpPerspective(leftgray,H[0],(w*2,h))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用OpenCV(Python)拼接多个图像

来自分类Dev

使用opencv的分水岭Java实现

来自分类Dev

使用opencv使图片背景透明

来自分类Dev

OpenCV-从图像网格中拼接图像

来自分类Dev

OpenCV使用图片示例训练SVM错误

来自分类Dev

XIMEA:openCV 2.4.9不能与其他程序配合使用的Ximea相机

来自分类Dev

继承如何在Python 3中与kwargs配合使用?

来自分类Dev

使用OpenCV进行图像拼接的详细信息

来自分类Dev

配置ADFS 3.0 / SAML 2.0以与Spring Security配合使用以实现SSO集成

来自分类Dev

使用iOS版openCV拼接图像的问题

来自分类Dev

teardown_request()如何与Python Flask配合使用?

来自分类Dev

OpenCV拼接结果的尺寸不稳定

来自分类Dev

用免费的dll进行opencv拼接

来自分类Dev

Python:将sqlite3与多处理配合使用

来自分类Dev

Docker和Ansible如何配合使用以实现持续交付/持续部署

来自分类Dev

与IMDB API配合使用

来自分类Dev

使用opencv和python的简单图像拼接问题

来自分类Dev

使用ffmpeg将图片文件拼接在一起,音频同步出现问题

来自分类Dev

如何在更改CSS背景图片时使PHP for loop与$ x配合使用?

来自分类Dev

继承如何在Python 3中与kwargs配合使用?

来自分类Dev

图片正常时,使用imread of OpenCV失败

来自分类Dev

与bitvise配合使用

来自分类Dev

使用适用于iOS的openCV拼接图像的问题

来自分类Dev

如何在C ++中使用OpenCV拼接4张图像

来自分类Dev

如何使用CSS实现此效果(图片)

来自分类Dev

Python OpenCV imshow() 函数未实现

来自分类Dev

OpenCV 的 OpenCL 实现中使用的语法/函数

来自分类Dev

opencv(python)中图片形态的轨迹栏

来自分类Dev

使用 flex 自适应拼接视频和图片

Related 相关文章

热门标签

归档