Pregled bibliografske jedinice broj: 1015092
An Application for LED Patterns Recognition with a Smartphone Camera
An Application for LED Patterns Recognition with a Smartphone Camera, 2019., diplomski rad, diplomski, Fakultet elektrotehnike i računarstva, Zagreb
CROSBI ID: 1015092 Za ispravke kontaktirajte CROSBI podršku putem web obrasca
Naslov
An Application for LED Patterns Recognition with a Smartphone Camera
Autori
Pejić, Lovro
Vrsta, podvrsta i kategorija rada
Ocjenski radovi, diplomski rad, diplomski
Fakultet
Fakultet elektrotehnike i računarstva
Mjesto
Zagreb
Datum
11.07
Godina
2019
Stranica
56
Mentor
Pripužić, Krešimir
Ključne riječi
Java ; JavaScript ; LED source ; Pattern ; Pattern detector ; Android ; Android history ; Android architecture ; Linux ; Application ; Mobile application ; Android Studio ; OpenCV ; Computer vision ; Client ; Server ; Database ; Local database ; Remote database ; JSON ; Node.js ; MongoDB ; REST ; Real-time processing
Sažetak
The Android Operating System is based on the Linux Operating System. It was originally developed by Android, Inc. The Android Operating System architecture consists of several layers. These are: Linux Kernel, Libraries, Android Runtime, Application Framework, Applications. From a very basic point of view, it is easy to notice that every single Android application consists of two key parts. The first part includes so-called “Java documents”, while the second part refers to the design of the graphical user interface (GUI) which is designed in XML (Extensible markup language) language. Android application directory has a tree-shaped structure. Some of the more important directories are: java/, res/, Gradle Scripts/, Manifests/. Each Android application is made up of several components that can communicate with other components within the same or other applications as needed. These are: Activities, Services, Broadcast receiver, Content provider. REST is an architectural style for providing standards between computer systems on the web. A very important feature of the systems that follow the REST paradigm is that they are stateless which means that the server does not need to know anything about the client state and vice versa. When using the REST architecture, clients send requests in order to modify or retrieve resources and servers send responses to those requests. A request generally consists of several parts, such as: An HTTP verb, a header, a path to source, a message body containing data. There are four basic HTTP verbs that are used in the requests: GET, PUT, POST, DELETE. Responses from the server contain status codes to alert the client to information about the success of the operation. The most popular status codes are: 200 – OK, 201 – CREATED, 400 – BAD REQUEST, 403 – FORBIDDEN, 404 – NOT FOUND, 500 – INTERNAL SERVER ERROR. JSON is a lightweight format for storing and transporting data. JSON is often used when data is sent from the server to the client and vice versa. JSON is simple and easy to understand. Node.js is an open-source and cross-platform JavaScript runtime environment built on Chrome’s V8 JavaScript engine. It can be used for almost any kind of project. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight. MongoDB is a cross-platform document-oriented database program developed by MongoDB, inc. under SSPL licence. It is classified as a NoSQL database. MongoDB stores data in flexible, JSON-like documents. The MongoDB document model maps directly to the objects in your application code, so it is always possible to work with predifined object classes. Due to the fact that MongoDB is a distributed database at its core, it has high availability and horizontal scaling possibility. OpenCV (Open Source Computer Vision Library) is an open source and cross- platform computer vision software library. It is originally developed by Intel and released under the BSD 3-Clause License. OpenCV was built to accelerate the use of machine perception in the commercial products and to provide a common infrastructure for computer vision applications. The OpenCV library consists of more than 2500 optimized algorithms, which includes a comprehensive set of computer vision and machine learning algorithms. The OpenCV4Android Library is a version of the OpenCV library that is customized and optimized for work on mobile devices with Android Operating System. LED Pattern Detector is a mobile application designed for the Android Operating System that is used to determine the device error according to the frequency of blinking of its certain LED light source. The whole application consists of three activities. That is StartupActivity, MainActivity and ResultsActivity. StartupActivity is an activity that handles remote database synchronization process. MainActivity is an activity that implements OpenCV’s CvCameraViewListener2 interface and whose main task is to process each camera frame. It is separated to six different modes. These are: InitialMode, LedDetectingMode, ManualCalibrationMode, MeasuringMode, PreAutoCalibrationMode, PreManualCalibrationMode. ResultsActivity’s task is quite simple. It calculates LED source blinking frequency based on the total blinks number and the measuring duration, after which it displays the corresponding description of the calculated frequency which was obtained from the local database. Making this paper truly impressed me because it has enriched my knowledge for a great new design experience that consists of two large parts, the client and the server. More importantly, I have learned a lot about using modern technologies from the domain of computer vision that is anticipated even greater growth and the prospective future.
Izvorni jezik
Engleski
Znanstvena područja
Elektrotehnika, Računarstvo
POVEZANOST RADA
Ustanove:
Fakultet elektrotehnike i računarstva, Zagreb
Profili:
Krešimir Pripužić
(mentor)