我正在使用OpenCV-Python绑定来编写我的图像处理应用程序.我正在寻找一种方法将图像的关键点写入文件中,我们可以将其返回以进行匹配.C/C++中有代码可以做到这一点,但是使用python无法找到解决方法
请有人对此有所了解,请与我和我们所有人分享
谢谢
这是你如何做到这一点,灵感来自我之前给出的链接.
将关键点保存在文件中
import cv2
import cPickle
im=cv2.imread("/home/bikz05/Desktop/dataset/checkered-3.jpg")
gr=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
d=cv2.FeatureDetector_create("SIFT")
kp=d.detect(gr)
index = []
for point in kp:
temp = (point.pt, point.size, point.angle, point.response, point.octave,
point.class_id)
index.append(temp)
# Dump the keypoints
f = open("/home/bikz05/Desktop/dataset/keypoints.txt", "w")
f.write(cPickle.dumps(index))
f.close()
Run Code Online (Sandbox Code Playgroud)
在图像中加载和显示关键点
import cv2
import cPickle
im=cv2.imread("/home/bikz05/Desktop/dataset/checkered-3.jpg")
index = cPickle.loads(open("/home/bikz05/Desktop/dataset/keypoints.txt").read())
kp = []
for point in index:
temp = cv2.KeyPoint(x=point[0][0],y=point[0][1],_size=point[1], _angle=point[2],
_response=point[3], _octave=point[4], _class_id=point[5])
kp.append(temp)
# Draw the keypoints
imm=cv2.drawKeypoints(im, kp);
cv2.imshow("Image", imm);
cv2.waitKey(0)
Run Code Online (Sandbox Code Playgroud)
输入图像到第一个脚本

在第二个脚本中显示IMAGE

| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |