pranavaggarwal01 / Texture-and-Image-Classification

Contains three problems - Texture Classification using k means and Laws filters, Vehicle Classification using SIFT and SURF features and BOWs approach and Edge Detection techniques

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note:

  • All the programs are implemented with the following details: For Problem 1 and Problem 2 Programming language - C++ IDE – SublimeText //Download link - https://sublimetext.com/2 Compiler – g++ (implemented on Terminal of Ubuntu 16.04) Operating system – Ubuntu 16.04 OS type – 64 bit libraries used – OpenCV 3.1.0 - extended libraries from opencv_contrib_master for xfeatures2D for SIFT and SURF. Matlab is used for Problem 1a to plot the sample after PCA.

Important Notes:

  • The folder Texture Classification will contain 3 more folders named Images1 ,Images2 and filtered_images. For Images1 and Image2 each has 4 folders Type1, Type2, Type3 and Type4. This for problem 1a where after the program is executed the textures will automatically will put in their respective folders. Image1 is for 25 dimention feature space and Image2 is for 3 dimenstion after PCA. Care has to be taken to delete the image files in the folders before new execution of the code. The filtered_images folder is used in Problem 1b to save all the 25 filtered images.

--Before exection of individual files for Texture Classification and Vehicle Classification in C++ in their respective folders, first call the CMakeLists.txt and make the make files and compile the codes by doing the following steps cmake . make

once the executables of the problems are made use the below commands to execute them.

List of files.

-Problem1_a.cpp

This program performs Texture Classification. The user needs to enter the filename image_width image_height

To execute ./P1a 128 128

-Problem1_b.cpp

This program performs Texture segmentation The user needs to enter the filename image_name width height -the user will be asked to enter the mask size and the number of clusters (segments)

To execute ./P1b Comb_1.raw 500 425

Enter mask_size: 21 Clutter size: 4

-Problem2_a.cpp This problem gets the keypoints and descriptors The user needs to enter the filename

To execute ./P2a

-Problem2_b_sift.cpp This problem finds the sift matched between two images The user needs to enter the filename image_name1 image2

To execute ./P2b_sift jeep.jpg rav4_1.jpg

-Problem2_b_surf.cpp This problem finds the surf matched between two images The user needs to enter the filename image_name1 image2

To execute ./P2b_surf jeep.jpg rav4_1.jpg

-Problem2_c_sift.cpp This problem finds the sift BOW classification The user needs to enter the filename image_name

To execute ./P2c_sift rav4_2.jpg

-Problem2_c_surf.cpp This problem finds the surf BOW classification The user needs to enter the filename image_name

To execute ./P2c_surf rav4_2.jpg

About

Contains three problems - Texture Classification using k means and Laws filters, Vehicle Classification using SIFT and SURF features and BOWs approach and Edge Detection techniques


Languages

Language:C++ 98.4%Language:CMake 1.6%