Monday, 18 December 2017

Week 13: When situation is not favorable, find ways!

Haiii guyss....it's week 13 here and here we come for another update again~

As for those who followed the previous week's post should know, I have met really a lot of obstacles while in the progress and it is really hard to complete the whole project by week 14. However, thanks to my lecturer's understanding toward my situation, he did gave me some "discount" on my current work, which really bright me up in the darkness (WOOHOO!!).

First, back to the camera part following from last week's post. As from last week, everything about the camera is developed but somehow, the camera did not work at the way it should and it really cost me a lot of brain juice to diagnose where is the problem. At the very hopeless stage, I decided to try the only thing I never tried before in diagnosing the problem, which is, to install the apps in another Android phone. Miraculously, the camera apps works fine and good in other Android device (Samsung A5 2015). The camera apps is able to be opened smoothly, takes full size picture with no pixelation and are able to store the image in the gallery with time stamp as the image name. After some discussion with my senior, Raqif, which previously helped me in developing the code, we believed it is because of the non-compatible API on my Android device (Samsung galaxy Note 5) which had caused the problem. Also, from the discussion with my lecturer, we believe that there might be extra protection and security implemented inside higher tech phone which caused to be not-so-easy to access the device fully, thus causing the problem.

Next, after the "discount" given by my lecturer, I will only need to develop a code in C++ which can calculate the sharpness of an image when it is run (of course, developing the full apps can be done next after this on my own will). To develop the code, a simple C++ software is definitely not enough because the normal library does not contain the "things" we need. Therefore, should we introduce and install some new software/library, which is the Code::Blocks, OpenCV and CMake.

Code::Blocks is free and open source integrated development environment(IDE) which can support various types of compiler such as the visual C++, whereas OpenCV is a library of programming functions mainly aimed at real-time computer vision. CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method. It supports directory hierarchies and applications that depend on multiple libraries. 

The difficulties I faced while doing these is during the time to implement and "put in" the openCV into the IDE as it takes a series of process and did really consume some time. During the process, I had encountered a lot of error that tells me the library is unsuccessfully to be brought in the IDE.  I have tried a lot of methods to solve it such as search for the error code, system restoring (because I might have installed the incomplete openCV and it cannot be uninstalled so easily like other software), following different tutorials, referring to friends experienced in all these. Finally, the problem found is that the openCV file downloaded is not extracted properly in the way it should. It might sounds like an easy error, but it really takes me different tutorials, reference and help from experienced friend to identify and spot the problem.

From these, I have learned more about IDE, library, their installation process, precaution step to take care on and possible error to occur. On the moral side, I have learned to be more patience in identifying and solve problem, because dealing with the installation really takes a lot of time and effort, especially when you are sure you have followed the online tutorial fully but somehow error still occur. The online source is a big sea of knowledge, where you can find almost everything in it, when you are frustrated in unable to find the solution online, what you need just maybe some time, patience and help from others in translating the part you do not understand. 


No comments:

Post a Comment