Advertisement

MATLAB将RGB图像转换为灰度图

阅读量:

近期在进行孪生网络的训练过程中,最初采用的是sorenbouma推荐的数据集,运行情况较为理想。然而,在引入自行采集的数据集后,系统频繁出现错误提示:ValueError: too many values to unpack (expected 4)。

这里写图片描述

这种错误通常发生在将一个元组值分配给元组变量时,由于变量的数量不足而引发。例如:a, b ,c= (1, 2, 3,4),此时传入的参数数量超过了变量所能接收的范围。
在本函数中,需要输入3个参数,分别是图片的类别数目、存放图片的文件夹路径以及一个.pickle格式的图像文件。前两个参数并无明显问题,而第三个参数则存在异常。经过排查发现,该网络模型要求输入的是尺寸为105\times105\times1的灰度图像,即单通道图像。尽管我在采集手写体图像时保存的是黑白格式,但实际存储为三通道的RGB图像。由于通道数增加,导致解压到.pickle文件中的数据量也随之上升,从而使得传入的参数数量变多。因此需要将RGB图像转换为灰度图以满足需求。由于图片数量较大,我们选择使用MATLAB进行处理。
代码及注释如下:

全部评论 (0)

还没有任何评论哟~