xinianliuliu 2022-03-30 16:23 采纳率: 83.3%
浏览 73
已结题

双目视觉相机标定遇到问题'IFDRational' object does not support indexing

#Get exif data in order to get focal length. 
exif_img = PIL.Image.open(calibration_paths[0])

exif_data = {
    PIL.ExifTags.TAGS[k]:v
    for k, v in exif_img._getexif().items()
    if k in PIL.ExifTags.TAGS}

#Get focal length in tuple form
focal_length_exif = exif_data['FocalLength']

#Get focal length in decimal form
focal_length = focal_length_exif[0]/focal_length_exif[1]

#Save focal length
np.save("D:/VS2019/object/3DReconstruction-master/Reconstruction/NewFolder/FocalLength", focal_length)

#Calculate projection error. 
mean_error = 0
for i in range(len(obj_points)):
    img_points2, _ = cv2.projectPoints(obj_points[i],rvecs[i],tvecs[i], K, dist)
    error = cv2.norm(img_points[i], img_points2, cv2.NORM_L2)/len(img_points2)
    mean_error += error

total_error = mean_error/len(obj_points)
print (total_error)

focal_length = focal_length_exif[0]/focal_length_exif[1] 这一行有问题,我的相机焦距得到的值为3.95
即:focal_length_exif = exif_data['FocalLength']=3.95

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月7日
    • 创建了问题 3月30日

    悬赏问题

    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用
    • ¥15 C++ yoloV5改写遇到的问题
    • ¥20 win11修改中文用户名路径
    • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
    • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
    • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
    • ¥15 帮我写一个c++工程
    • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
    • ¥15 关于smbclient 库的使用