这节要处理图像到统一标准。
首先我们已经读取出来图像了,我们如何对它进行处理呢?首先,我们先对它进行灰度转化,然后放缩到固定尺寸即可,现在先实现简单的BP神经网络,至于卷积池化什么的先留到以后再说。
如何进行灰度转化呢?用rgb2gray即可实现:
img = imread('101_ObjectCategories/accordion/image_0001.jpg');
img = rgb2gray(img);
imshow(img);
然后需要对图像进行归一化,什么是归一化呢?就是把像素的灰度值分布在0~255之间,避免图像像素亮度分布不均衡,会影响最后结果的,但是现在并不对其归一化,算法以后再说。
现在让它们变成统一宽高的图像,用imresize,规范成60*80的图像,原来打算设计成300*400的,但是这样 就会太大了,中间的隐藏层的w可能到达几十个G的大小,因此只规范到这么小。
img = imread('101_ObjectCategories\accordion\image_0001.jpg');
img = rgb2gray(img);
img = imresize(img, [60, 80]);
imshow(img);
好了,现在实现完毕图像的预处理,虽然这是简单的预处理,但是复杂的事情以后再做。
现在,我们应该要明白img的格式是什么。从变量表中可以看出,img是一个60*80的uint8类型数组,这个就好办了,下节就开始制作神经网络了。