pts1.(kp1[m.].pt)
[i] = [1, 0]
【python全景图像拼接_python实现图像全景拼接】 = dict(=(0, 255, 0),
=(255, 0, 0),
=,
flags=0)
img3 = cv.(, kp1, , kp2, , None, **)
plt.(img3, ), plt.show()
rows, cols = .shape[:2]
= 10
if len(good) > :
= np.([kp1[m.].pt for m in good]).(-1, 1, 2)
= np.([kp2[m.].pt for m in good]).(-1, 1, 2)
M, mask = cv.(, , cv., 5.0)
= cv.(, np.array(M), (.shape[1], .shape[0]), flags=cv.)
for col in range(0, cols):
if [:, col].any() and [:, col].any():
left = col
break
for col in range(cols-1, 0, -1):
if [:, col].any() and [:, col].any():
right = col
break
res = np.zeros([rows, cols, 3], np.uint8)
for row in range(0, rows):
for col in range(0, cols):
if not [row, col].any():
res[row, col] = [row, col]
elif not [row, col].any():
res[row, col] = [row, col]
else:
= float(abs(col - left))
= float(abs(col - right))
alpha =/ ( + )
文章插图
res[row, col] = np.clip([row, col] * (1-alpha) + [row, col] * alpha, 0, 255)
#is bgr,is rgb
res = cv.(res, cv.)
# show the
plt.()
plt.(res)
plt.show()
else:
print("Notare found - {}/{}".(len(good), ))
= None
实验结果:
1、室内场景:
文章插图
原图1
文章插图
原图2
拼接后:
文章插图
2、室外场景:
场景1:
文章插图
原图1
文章插图
原图2
拼接后:
文章插图
场景2:
文章插图
原图1
文章插图
原图2
拼接后:
文章插图
场景3:
文章插图
原图1
文章插图
原图2
拼接后:
文章插图
总结:
本文分别针对室内和室外两种情况对两张图像做全景拼接,发现室内情况下拼接的效果较为好 。在室外场景1情况下,两张图像有近景和远景结合,两张图像拼接后近景的图像被放大并有一定程度的倾斜;在场景2中,两张图像都是远景,拼接后的效果还不错但是在拼接后图像的中上方出现了拼接缝;场景3是在不同明亮程度下图像的拼接可以发现拼接后的图像出现明显的明暗差距,并且拼接缝明显两张图像没有很好的拼接在一起,出现很多没有重合的地方 。
本实验最初是用-.4.5版本,但是由于sift的专利限制无法使用,随后用-.4.2代码可以运行,不会出现问题 。方法:先卸载当前版本的并安装:
pip-i--==3.4.2.16
本文已被收录到专题《图片处理操作》,欢迎大家点击学习更多精彩内容 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家 。
- python CGI编程、smtp邮件发送、pygame项目创建
- 【Python 应用篇】Email 邮件发送
- Python 调用 Outlook 发送邮件
- 基于Python实现机器人自动走迷宫【100011016】
- Python如何绘制误差直方图?曲线的阴影图?shade range graph
- 让小孩学Python语言编程有意义吗?
- 一 python自动化基础能力:3.python基础上之数据类型,函数
- 【批量改文件夹中的图片名称-python】
- cmos图像传感器尺寸
- python可以实现什么黑科技_实用黑科技!利用python给手机发短信