功能: 读取图像数据

格式:
NetReadImage(f, m, n, channel, startIndex, stepN, mul, gray)
NetReadImage(f, m, n, channel, startIndex, stepN, mul)
NetReadImage(f, m, n, channel, startIndex, stepN)
NetReadImage(f, m, n, channel, startIndex)
NetReadImage(f, m, n, channel)
NetReadImage(f, m, n)

f : 存储数据的二进制文件路径, 为空将打开对话框
m : 读取样本总数
n : 每个通道数据个数
channel: 通道数, 默认为1
startIndex: 数据开始读取位置, 默认为1 (文件字节位置从1开始)
stepN: 每组样本数据间隔字节数, 默认为0
mul  : 数据归一化时的乘数, 此参数默认为0.00390625, 即1/256的结果
gray : 结果是否灰度化,非0表示灰度化, 参数默认为1. 此参数当channel为3时起作用

说明:
1. 本函数主要方便读取指定二进制数据
2. 函数读取成功将返回一个ClassData2d对象, 里面存储对应数据值
3. 注意参数n为每个通道的数据个数
4. 本函数主要按字节读取, 如果channel不等于3(或者channel=3且gray=0), 那么返回ClassData2d对象将是一个 m * (n * channel)的矩阵变量, 即每个样本的维度为n * channel
5. 如果channel=3且gray非0, 那么返回ClassData2d对象将是一个 m * n 的矩阵变量, 即每个样本的维度为n, 这里每个样本的数值对应灰度图
6. 函数中的参数mul, 表示数据读取成功后, 每个数据再乘以mul作为返回结果. 这个参数简单地进行数值缩放.

例子:
//假如某个测试集有3个样本数据, 其标签与数据分别如下(前面1个数据是标签,后面两个数据是图像数据)
// 1: 25 36 58
// 2: 18 255 16
// 1: 36 156 79
// 其存储的二进制文件中字节数据为如下
// 1 25 36 58 2 18 255 16 1 36 156 79

//1. 读取标签
label = NetReadImage(f, 3, 1, 1, 1, 4, 1);

//2. 读取图像, 下面img1与img2结果一致,读取到的是3*3的矩阵, 而img3因为做了灰度处理, 因此读取到的数据为3*1的矩阵
img1 = NetReadImage(f, 3, 3, 1, 2, 2);
img2 = NetReadImage(f, 3, 1, 3, 2, 2,,0);
img3 = NetReadImage(f, 3, 1, 3, 2, 2,,1);