import cv2
import os
def cv_show(name, img):
cv2.imshow(name, img)
cv2.waitKey(10000)
cv2.destroyAllWindows()
def orb_features(img):
orb = cv2.ORB_create(
4000, # 特征点数目
1.2, # 金字塔层级之间的缩放比例
8, # 金字塔图像层级系数
31, # 边缘阈值
0, # 原图在金字塔中的层数
2, # 生成描述子时需要用的像素点数目
cv2.ORB_HARRIS_SCORE, # 使用Harris方法评价特征点
31, # 生成描述子时关键点周围邻域的尺寸
20 # 计算FAST角点时像素值差值的阈值
)
kp = orb.detect(img, None)
kp, des = orb.compute(img, kp)
return kp, des
if __name__ == '__main__':
img_path = "D:/python/txsc"
for img in range(648):
img_name1 = f"{img}.jpg".rjust(10, "0")
img_name2 = f"{img + 1}.jpg".rjust(10, "0")
img_name1 = os.path.join(img_path, img_name1)
img_name2 = os.path.join(img_path, img_name2)
# 读取图片并截图
img1 = cv2.imread(img_name1)[200:750, 450:1450]
img2 = cv2.imread(img_name2)[200:750, 450:1450]
print(img1)
print(img2)
cv2.imread(img_name2) 图片没有读取成功 ,返回值是None
检查下img_name2地址的图片是否存在
图片索引是从0到647,检查一下与原文件的图片中名称是否有出入。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!