Matlab2020b在双目标定的过程中会出现要串联的数组维度不一致的问题

在安装好matlab2020b后进行双目标定实验,左右相机各导入20张图,结果在导入完成后显示了错误,如图所示,显示要串联的数组的维度不一致。

Matlab2020b在双目标定的过程中会出现要串联的数组维度不一致的问题_第1张图片

后来找到了问题原因,是因为matlab2020b双目标定工具箱有bug,不支持彩色图输入,只能输入灰度图。

于是将文件夹中的图片进行批量灰度化处理,再将得到的灰度图分别导入,最终标定成功。

附上批量灰度化处理文件夹中图片的代码:

import cv2
import os

img_list = []
input_path = "F:/20220606/R/"  # 要处理的图片所在的文件夹
output_path = "F:/20220606/RH2/"  # 处理完的图片放在这里
for item in os.listdir(input_path):
    img_list.append(os.path.join(input_path, item))
print(list)
count = 1
for imagepath in img_list:
    # print(imagepath)
    image = cv2.imread(imagepath, cv2.IMREAD_GRAYSCALE)
    print(output_path+'%dR.jpg' % count)  # 显示保存文件的路径及保存的文件名
    cv2.imwrite(output_path+'%dR.jpg' % count, image)
    # 按一定路径将图片保存下来并命名,加号左边代表保存路径,右边代表文件命
    # %d代表后面的% count中的count的数值
    print("-----------执行中,保存第{}张----------".format(count+1))
    count += 1
    os.makedirs(os.path.dirname(output_path), exist_ok=True)
    cv2.imshow('garyimg', image)
    cv2.waitKey(0)

你可能感兴趣的:(matlab)