This work presents an image classification process using machine and deep learning. The machine learning has feature extraction and classification modules. It can extract certain features of images but unable to select differentiating features from the training set of data. Deep learning can find naturally the relevant features for the adopted applications. The convolutional neural network (CNN) is one of the common deep learning approaches. CNN has an input layer, hidden layers, and an output layer. An image is constructed as a matrix of pixels where the pixel values are given to the input layer supported with weights and biases. The hidden layers are convolutional, pooling and/or fully connected layers. The output layer is a fully connected layer to classify the image to which class it belongs to. Moreover, a set of hyper-parameters are analyzed and investigated. The parameters play an important role in the performance of the image classification process. A set of experiments are operated to see the effect of every hyper parameter. The parameters include; but not limited to; the number of hidden layers, the number of epochs, filter size, number of filters, batch size, learning rate, optimization method, and others. Moreover, a useful supervised machine learning approach is adopted to classify the images. The number of selected features has a vital role on the performance of the support vector machine (SVM). Both the CNN and SVM are operated and tested using two big datasets. The first dataset; CIFAR-10; has ten classes and 60,000 images where the second one; MNIST; has ten classes and 70,000 images. The performance of both deep learning and SVM approaches are compared. Some measurable criteria are considered such as accuracy, learning time, prediction time, and others. The classification accuracy using CNN outperforms that accuracy value for the SVM. The performance of CNN using the MNIST dataset is better than the CNN using the CIFAR-10 dataset. This means that the dataset size, nature, and characterization play an important role in the performance of machine and deep learning approaches. The learning time and prediction time for CNN approach are greater than those corresponding values of SVM. The obtained results in this work are better than some of the related efforts published in the literatures by others using the same machine learning approaches and the same datasets.