1.一种图像分类方法,其特征在于,包括以下步骤:
1)选择M张具有类代表的原始图片;
2)对所述原始图片进行预处理,将M张原始图片扩充为M组训练图片,每组包含N张图片;
3)对M组图片进行tensorflow训练,得到训练模型;
4)对新的图片,根据所述训练模型对所述新的图片进行图像类别测试。
2.根据权利要求1所述的图像分类方法,其特征在于,将M张原始图片扩充为M组训练图片的具体实现过程包括:
1)对所述原始图片进行翻转,将一张原始图片扩充为两张翻转图片;
2)对所述翻转图片的R、G、B进行扫描,指定一个度degree,给出随机噪声noise的区间[-degree,degree],分别对翻转图片的R、G、B进行噪声添加,即R+noise、G+noise、B+noise;
若R+noise、G+noise、B+noise小于0,将该小于0的元素赋值为0;R+noise、G+noise、B+noise大于255,将该大于255的元素赋值为255,从而得到加噪后的图片;
3)获取所述加载后的图片的宽度Hortical、长度Vertical和颜色Color,分别从宽度和长度按照一个比例o进行压缩变换,生成压缩图片;其中比例o为正整数;
4)设置亮度调节度,利用下式分别处理压缩图片的像素R、G、B三分量:pixel=p[i]+degree,pixel为像素颜色集,该像素颜色集包含{R、G、B}三个像素颜色分量;i的值分别为
0,1,2,p[0]代表B,p[1]代表G,p[2]代表R;若pixel小于0,pixel赋值为0,pixel大于255,pixel赋值为255,分别取亮度调节度为正数和负数的两种情况对压缩图片进行变换,通过pixel的改变得到不同的亮度调节图片;
5)对所述亮度调节图片进行灰度调节,得到灰度调节图片;
6)遍历所述灰度调节图片的所有像素点,对每个像素点进行如下曝光调节,得到曝光图片;
若p[0]<128,p[0]=(byte)(p[0]^0xFF);
若p[1]<128,p[1]=(byte)(p[1]^0xFF);
若p[2]<128,p[2]=(byte)(p[2]^0xFF);
7)将所述曝光图片转化为RGB位图格式,获取其宽度width和高度height,设置一个色调调节值hue,利用所述色调调节值hue对每个像素点的RGB进行色调调节,得到颜色调节图片;
8)以90°为步长,对所述颜色调节图片进行三次旋转,得到旋转图片。
3.根据权利要求2所述的图像分类方法,其特征在于,度degree为整数且0≤degree≤
255。
4.根据权利要求2所述的图像分类方法,其特征在于,从宽度和长度按照一个比例o对压缩图片进行压缩变换后得到的像素值为(Hortical*o+m++,Vertical*o+n++,Color);其中m++,n++为0到o之间的整数。
5.根据权利要求2所述的图像分类方法,其特征在于,灰度调节的具体实现过程为:亮度调节图片像素点的color值,color1=oldBitmap.GetPixel(x,y),color2=oldBitmap.GetPixel(x+1,y+1);分别从红、绿、蓝三个通道进行调节,选择0到255之间的灰度调节度degree,R=Math.Abs(color1.R-color2.R+degree);G=Math.Abs(color1.G-color2.G+degree);B=Math.Abs(color1.B-color2.B+degree),Math.Abs函数代表返回函数内的绝对值,通过该函数保证R、G、B的值在0到255之间,若有小于0的元素,则将该元素值赋值为0,若有大于255的元素,则将该元素值赋值为255;color1代表图片调节前像素点(x,y)的颜色,color代表像素点(x,y)附近像素点(x+1,y+1)的颜色;oldBitmap.GetPixel函数用于获取压缩图片中的颜色值,是由R、G、B组成的集合,color1.R-color2.R代表对像素点水平和竖直方向进行逐一差分。
6.根据权利要求2所述的图像分类方法,其特征在于,所述色调调节值hue为介于-180到180之间的浮点数。
7.根据权利要求6所述的图像分类方法,其特征在于,利用所述色调调节值hue对每个像素点的RGB进行色调调节,利用所述色调调节值hue对每个像素点的RGB进行色调调节的公式为:hsl=HSL.FromRgb(p[2],p[1],p[0]),hsl.Hue+=hue;其中hsl是工业界的颜色标准,其三个缩写字母分别代表图像的色相、饱和度和明度,函数HSL.FromRgb(R、G、B)用来实现图像红绿蓝值到色调值的转化过程,hsl.Hue代表当前图像的色调值,hue代表所调节色调的变化值。