The respiration rate (RR) is the most vital parameter used for the determination of human health. The most widely adopted techniques, used to monitor the RR are contact in nature and face many drawbacks. This paper reports the use of Infrared Thermography, in reliably monitoring the RR in a contact-less and non-invasive way. A thermal camera is used to monitor the variation in nasal temperature during respiration continuously. Further, the nostrils (region of interest) are tracked during head motion and object occlusion, by implementing a computer vision algorithm that makes use of 'Histogram of oriented gradients' and 'Support vector machine' (SVM). The signal to noise ratio (SNR) of the acquired breathing signals is very low; hence they are subjected to appropriate filtering methods. The filters are compared depending on the performance metrics such as SNR and Mean square error. The breaths per minute are obtained without any manual intervention by implementing the 'Breath detection algorithm' (BDA). This algorithm is implemented on 150 breathing signals and its performance is determined by computing the parameters such as Precision, Sensitivity, Spurious cycle rate, and Missed cycle rate values, obtained as 98.6%, 97.2%, 1.4%, and 2.8% respectively. The parameters obtained from the BDA are fed to the k-Nearest Neighbour (k-NN) and SVM classifiers, that determine whether the human volunteers have abnormal or normal respiration, or have Bradypnea (slow breathing), or Tachypnea (fast breathing). The Validation accuracies obtained are 96.25% and 99.5% with Training accuracies 97.75% and 99.4% for SVM and k-NN classifiers respectively. The Testing accuracies of the completely built SVM and k-NN classifiers are 96% and 99%, respectively. The various performance metrics like Sensitivity, Specificity, Precision, G-mean and F-measure are calculated as well, for every class, for both the classifiers. Finally, the Standard deviation values of the SVM and k-NN classifiers are computed and are obtained as 0.022 and 0.007, respectively. It is observed that the k-NN classifier shows a better performance compared to the SVM classifier. The pattern between the data points fed to the classifiers is viewed by making use of the t-Stochastic Neighbor Embedding algorithm. It is noticed from these plots that the separation between the data points belonging to different classes, improves and shows minimal overlap by increasing the perplexity value and number of iterations.