我们在设计一个具有旋转鲁棒性的特征时,需要验证该特征是否能在具有旋转变换的数据集上呈现出良好的性能。大多数的公共数据集没有太多的旋转变换,因此我们需要自己制作一个具有旋转变换的数据集。
任务
通过一个本身不具有旋转变换的原始数据集纹理数据集制作一个具有旋转变换的纹理数据集。
注意:原始数据集中的每个文件夹代表一个类。
操作步骤
1.从每一个类中随机选择RotateNum个图像。
2.为了避免旋转裁剪后的图像存在黑边,需先把图像放大一定的倍数,该倍数根据图像的大小而定,文中针对的是213*213的图像,放大倍数为1.5。
3.每张图像旋转9次,每次36度。根据需求可以对旋转的度数进行调节。
4.将旋转后的图像裁剪为原始图像的大小。通过imcrop函数裁剪图像,需要指定裁剪的矩形框架左上顶点的坐标。去除黑边。
5.保存图像。
代码实现
imgPath = 'E:\project\LBP\Set\KTH_TIPS';%主文件夹路径,图像格式为.png
%========================遍历主文件夹里的所有子文件夹=======================%
imgDir = dir(imgPath); % 遍历所有子文件夹
imgSubDir &