OpenCV-Python:找到将键盘写入文件的代码

Dha*_*han 3 python opencv

我正在使用OpenCV-Python绑定来编写我的图像处理应用程序.我正在寻找一种方法将图像的关键点写入文件中,我们可以将其返回以进行匹配.C/C++中有代码可以做到这一点,但是使用python无法找到解决方法

请有人对此有所了解,请与我和我们所有人分享

谢谢

bik*_*z05 6

这是你如何做到这一点,灵感来自我之前给出的链接.

将关键点保存在文件中

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

在此输入图像描述