python3 字符串拼接,Python字符串拼接方法
在本文的例子中,python共享了实现图像拼接的具体代码。具体内容如下
1 .要拼接的图像
基于撒特征点和随机抽样一致性算法法的图像特征点匹配结果
3 .图像转换结果
4 .代码和注意事项
导入cv2
导入编号为公证人
defcv_show(名称,图像) :
cv2.imshow(名称,图像)).
cv2。等待键(0))))))))cv2。等待键(0))))cv2。等待键(0)。
cv2.destroyAllWindows(
定义和计算(图片) :
image=cv2.cvtcolor(image,cv2 .COLOR_BGR2GRAY))。
sift=cv2。x特征2d。sift _ create(
(kps,特色)=sift。detectandcompute(image,None))))))))))))))))))))。
通过KPS=NP。浮32([KP。ptforkpinkps])获得的点需要进一步转换才能使用
返回(KPS,功能).
定义匹配关键点(kpsa,kpsB,featuresA,featuresB,ratio=0.75,reprojThresh=4.0)):
#比率是最近邻匹配的推荐阈值
# reprojThresh是随机采样一致性的推荐阈值
matcher=cv2 .BFMatcher(
原始匹配=匹配器106 . KNN火柴(features a,featuresB,2))))))))))))。
matches=[]
对于原始匹配中的男:
iflen(m)==2且米[0].距离比* m [1].距离:
Matches.append((m[0]).Queryidx,m[0].trainIdx))
KSA=np.float32([kpsa[m[0])格式匹配] )使用NP.float32转换列表
ksb=NP。浮点32([kpsb[m]]表示最小匹配)
(m,状态))cv2。发现单应性(kpsa,kpsB,cv2 .RANSAC,reprojThresh))))))))))))))。
返回(m,匹配,状态)#并非所有的点都有一致解,它们的状态存在于状态中
defstich(imga,imgB,m):
结果=cv2。扭曲透视(imga,m,)(imgA.shape[1] imgB.shape[1],imgA.shape[0]))
结果[0:imageA.shape[0],0:imageB.shape[1]]=imageB
cv_show(结果,结果)。
defdrawMatches(imga,imgB,kpsA,kpsB,Matches,status):
(hA,wA )=imgA.shape[0:2]
(hB,wB )=imgB.shape[0:2]
#请注意这里的3频道和uint8类型
绘图=NP .Zeros () max(ha,hB)、wA wB,3)、 uint8 ()))))))))))))))))))
绘图[0:hB,0:wB]=imageB
绘图[0:hA,wB:]=imageA
queryidx,trainIdx,s ) inzip)匹配,状态) :
如果s==1:
float32 - int
pt1=(int(kpsb[trainidx][0])、int (kpsb [ train idx ] [1])
pt2=(int(kpsa[trainidx][0] ) wB,int (kpsa [ train idx ] [1]))
CV2.line(绘图pt1,pt2,),0,0,255))
cv _ show(画图),画图)。
#读取图像
imagea=cv2.im read(./右_ 01.png)。
cv_show(imageA),imageA)。
imageb=cv2.im read ./左_ 01.png )
cv_show(imageB),imageB))。
撒特征点和特征向量的计算
(kpsA,featuresA)=detectandcompute(imagea)。
(kpsB,featuresB)=1检测和计算(图片b)。
#基于最近邻和随机采样一致性得到单一性矩阵
(m,匹配,状态)=1匹配关键点(kpsa,kpsB,featuresA,featuresB))。
#绘制匹配结果
drawMatches(imagea,imageB,kpsA,kpsB,Matches,status))。
#拼接
Stich(imagea,imageB,m)。
以上是本文的全部内容,希望对大家的学习有帮助。另外,请支持我们。
本文标题:python实现图像拼接
本文地址:3358 www .cns.com/jiao人民党本/python/302187.html
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。