Skip to content

QWQ-AQ14/Solar_panel_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

关于文件m_img_match.py

图像校正

  • 对于红外与可见光图像首先需要知道拍摄的相机参数
  • 详细的参数可参考DJI相机参数
  • 以Zenmuse XT2 (640X512)举例,文件中需要得知的参数分别是:
传感器宽度Sensor Size Width: 10.88mm
传感器高度Sensor Size Height: 8.7mm
  • 对应代码
IR_SENSOR_WIDTH = 10.88
IR_SENSOR_HEIGHT = 8.7
VIS_SENSOR_WIDTH = 7.4
VIS_SENSOR_HEIGHT = 5.55
  • 根据传感器尺寸求出图像单位像素的实际尺寸大小DIRDVIS
    # 获取红外与可见光的XMP信息
    ir_xmp = get_xmp_info(irimg_path)
    vis_xmp = get_xmp_info(visimg_path)

    # 计算图像单位像素的实际尺寸大小
    d_ir = ir_xmp['ImageWidth'] / IR_SENSOR_WIDTH
    d_vis = vis_xmp['ImageWidth'] / VIS_SENSOR_WIDTH
  • 利用pyexiv2库读取图片中的XMP信息,封装到m_img_match.py,该文件返回一个字典包括图像的经纬度、高度、偏航角、俯仰角、翻滚角、焦距、图像尺寸大小
  • 利用专利1的内容对图像进行几何校正
    #几何校正
    ir_img = Geo_Correcition(ir_img,d_ir,ir_xmp['FocalLength'],ir_xmp['Flight-Yaw'])
    vis_img = Geo_Correcition(vis_img,d_vis,vis_xmp['FocalLength'],vis_xmp['Flight-Yaw'])
  • 利用软件获取的参数进行桶型校正
#桶型校正
    ir_img = undistort(ir_img, d_ir, ir_xmp['FocalLength'], 1)
    vis_img = undistort(vis_img, d_vis, vis_xmp['FocalLength'], 2)
  • 关于cv2.undistort(img,K,D)函数:
    #桶型校正
    cv2.undistort(img,K,D)
    第一个参数src输入参数代表畸变的原始图像第二个参数cameraMatrix为之前求得的相机的内参矩阵第三个参数distCoeffs为之前求得的相机畸变矩阵
  • 进行QPSO优化匹配参数
  • 最后返回最优化配准参数pa以及融合图fine_MATCH

About

Solar_panel_system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages