JAVA GUI WITH MYSQL: Database and Image Processing

JAVA GUI WITH MYSQL: Database and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 325
Release: 2019-08-26
Genre: Computers
ISBN:

In this book, you will learn how to build from scratch a criminal records management database system using Java / MySQL. All Java code for digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector / J to facilitate Java to MySQL connections, JCalendar to display calendar controls, and JFreeChart to display graphics. Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching. In the first chapter, you will be shown the number of devices needed to be downloaded and installed. You need to know how to add external libraries to the NetBeans environment. These tools are needed so that you can run the Java scripts. In the second chapter, you will be taught how to create Crime database and its tables. In third chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. In the fourth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. In the fifth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table. In the sixth chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables. In the seventh chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables. Finally, this book is hopefully useful for you.

MYSQL FOR JAVA GUI: Database, Cryptography, and Image Processing

MYSQL FOR JAVA GUI: Database, Cryptography, and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 476
Release: 2019-08-01
Genre: Computers
ISBN:

In this book, you will learn how to build from scratch a criminal records management database system using Java / MySQL. All Java code for digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector / J to facilitate Java to MySQL connections, JCalendar to display calendar controls, and JFreeChart to display graphics. Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching. In the first chapter, you will be shown the number of devices needed to be downloaded and installed. You need to know how to add external libraries to the NetBeans environment. These tools are needed so that you can run the Java scripts. In the second chapter, you will learn the basics of cryptography using Java. Here, you will learn how to write a Java program to count Hash, MAC (Message Authentication Code), store keys in a KeyStore, generate PrivateKey and PublicKey, encrypt / decrypt data, and generate and verify digital prints. In the third chapter, you will learn how to create and store salt passwords and verify them. You will create a Login table. In this case, you will see how to create a Java GUI using NetBeans to implement it. In addition to the Login table, in this chapter you will also create a Client table. In the case of the Client table, you will learn how to generate and save public and private keys into a database. You will also learn how to encrypt / decrypt data and save the results into a database. In the fourth chapter, you will create an Account table. This account table has the following ten fields: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In this case, you will learn how to implement generating and verifying digital prints and storing the results into a database. In the fifth chapter, You create a table with the name of the Account, which has ten columns: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In the sixth chapter, you will create a Client_Data table, which has the following seven fields: client_data_id (primary key), account_id (primary_key), birth_date, address, mother_name, telephone, and photo_path. In the seventh chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. In the eighth chapter, you will be taught how to create Crime database and its tables. In nineth chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. In the tenth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table. In the eleventh chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables. In the twelfth chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables.

POSTGRESQL FOR JAVA GUI: Database and Image Processing

POSTGRESQL FOR JAVA GUI: Database and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 340
Release: 2019-08-27
Genre: Computers
ISBN:

In this book, you will learn how to build from scratch a criminal records management database system using Java/PostgreSQL. All Java code for digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector / J to facilitate Java to MySQL connections, JCalendar to display calendar controls, and JFreeChart to display graphics. Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching. In the first chapter, you will learn: How to install NetBeans, JDK 11, and the PostgreSQL connector; How to integrate external libraries into projects; How the basic PostgreSQL commands are used; How to query statements to create databases, create tables, fill tables, and manipulate table contents is done.In the first chapter, you will learn: How to install NetBeans, JDK 11, and the PostgreSQL connector; How to integrate external libraries into projects; How the basic PostgreSQL commands are used; How to query statements to create databases, create tables, fill tables, and manipulate table contents is done. In the second chapter, you will learn querying data from the postgresql using jdbc including establishing a database connection, creating a statement object, executing the query, processing the resultset object, querying data using a statement that returns multiple rows, querying data using a statement that has parameters, inserting data into a table using jdbc, updating data in postgresql database using jdbc, calling postgresql stored function using jdbc, deleting data from a postgresql table using jdbc, and postgresql jdbc transaction. In third chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. In the fourth chapter, you will be taught how to create Crime database and its tables. In the fifth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. In the sixth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table. In the seventh chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables. In the eigthth chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables. Finally, this book is hopefully useful for you.

MariaDB with Java GUI for Cryptography and Image Processing

MariaDB with Java GUI for Cryptography and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 465
Release: 2019-09-02
Genre: Computers
ISBN:

This book is Java/MariaDB version of our previous books which used Java/MySQL and Java/PostgreSQL. In this book, you will learn how to build from scratch a criminal records management database system and simple bank database system using Java/MariaDB. All Java code for digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector/J to facilitate Java to MariaDB connections, JCalendar to display calendar controls, and JFreeChart to display graphics. Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching. In the first chapter, you will learn the basics of cryptography using Java. Here, you will learn how to write a Java program to count Hash, MAC (Message Authentication Code), store keys in a KeyStore, generate PrivateKey and PublicKey, encrypt / decrypt data, and generate and verify digital prints. In the second chapter, you will learn how to create and store salt passwords and verify them. You will create a Login table. In this case, you will see how to create a Java GUI using NetBeans to implement it. In addition to the Login table, in this chapter you will also create a Client table. In the case of the Client table, you will learn how to generate and save public and private keys into a database. You will also learn how to encrypt / decrypt data and save the results into a database. In the third chapter, you will create an Account table. This account table has the following ten fields: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In this case, you will learn how to implement generating and verifying digital prints and storing the results into a database. In the fourth chapter, You create a table with the name of the Account, which has ten columns: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In the fifth chapter, you will create a Client_Data table, which has the following seven fields: client_data_id (primary key), account_id (primary_key), birth_date, address, mother_name, telephone, and photo_path. In the sixth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. In the seventh chapter, you will be taught how to create Crime database and its tables. In nineth chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. In the eighth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. All six fields (except keys) will have a BLOB data type, so that the image of the feature will be directly saved into this table. In the nineth chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables. In the eleventh chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables. Finally, this book is hopefully useful for you.

LEARN FROM SCRATCH SIGNAL AND IMAGE PROCESSING WITH PYTHON GUI

LEARN FROM SCRATCH SIGNAL AND IMAGE PROCESSING WITH PYTHON GUI
Author: Vivian Siahaan
Publisher: BALIGE PUBLISHING
Total Pages: 372
Release: 2023-06-14
Genre: Technology & Engineering
ISBN:

In this book, you will learn how to use OpenCV, NumPy library and other libraries to perform signal processing, image processing, object detection, and feature extraction with Python GUI (PyQt). You will learn how to filter signals, detect edges and segments, and denoise images with PyQt. You will also learn how to detect objects (face, eye, and mouth) using Haar Cascades and how to detect features on images using Harris Corner Detection, Shi-Tomasi Corner Detector, Scale-Invariant Feature Transform (SIFT), and Features from Accelerated Segment Test (FAST). In Chapter 1, you will learn: Tutorial Steps To Create A Simple GUI Application, Tutorial Steps to Use Radio Button, Tutorial Steps to Group Radio Buttons, Tutorial Steps to Use CheckBox Widget, Tutorial Steps to Use Two CheckBox Groups, Tutorial Steps to Understand Signals and Slots, Tutorial Steps to Convert Data Types, Tutorial Steps to Use Spin Box Widget, Tutorial Steps to Use ScrollBar and Slider, Tutorial Steps to Use List Widget, Tutorial Steps to Select Multiple List Items in One List Widget and Display It in Another List Widget, Tutorial Steps to Insert Item into List Widget, Tutorial Steps to Use Operations on Widget List, Tutorial Steps to Use Combo Box, Tutorial Steps to Use Calendar Widget and Date Edit, and Tutorial Steps to Use Table Widget. In Chapter 2, you will learn: Tutorial Steps To Create A Simple Line Graph, Tutorial Steps To Create A Simple Line Graph in Python GUI, Tutorial Steps To Create A Simple Line Graph in Python GUI: Part 2, Tutorial Steps To Create Two or More Graphs in the Same Axis, Tutorial Steps To Create Two Axes in One Canvas, Tutorial Steps To Use Two Widgets, Tutorial Steps To Use Two Widgets, Each of Which Has Two Axes, Tutorial Steps To Use Axes With Certain Opacity Levels, Tutorial Steps To Choose Line Color From Combo Box, Tutorial Steps To Calculate Fast Fourier Transform, Tutorial Steps To Create GUI For FFT, Tutorial Steps To Create GUI For FFT With Some Other Input Signals, Tutorial Steps To Create GUI For Noisy Signal, Tutorial Steps To Create GUI For Noisy Signal Filtering, and Tutorial Steps To Create GUI For Wav Signal Filtering. In Chapter 3, you will learn: Tutorial Steps To Convert RGB Image Into Grayscale, Tutorial Steps To Convert RGB Image Into YUV Image, Tutorial Steps To Convert RGB Image Into HSV Image, Tutorial Steps To Filter Image, Tutorial Steps To Display Image Histogram, Tutorial Steps To Display Filtered Image Histogram, Tutorial Steps To Filter Image With CheckBoxes, Tutorial Steps To Implement Image Thresholding, and Tutorial Steps To Implement Adaptive Image Thresholding. In Chapter 4, you will learn: Tutorial Steps To Generate And Display Noisy Image, Tutorial Steps To Implement Edge Detection On Image, Tutorial Steps To Implement Image Segmentation Using Multiple Thresholding and K-Means Algorithm, and Tutorial Steps To Implement Image Denoising. In Chapter 5, you will learn: Tutorial Steps To Detect Face, Eye, and Mouth Using Haar Cascades, Tutorial Steps To Detect Face Using Haar Cascades with PyQt, Tutorial Steps To Detect Eye, and Mouth Using Haar Cascades with PyQt, and Tutorial Steps To Extract Detected Objects. In Chapter 6, you will learn: Tutorial Steps To Detect Image Features Using Harris Corner Detection, Tutorial Steps To Detect Image Features Using Shi-Tomasi Corner Detection, Tutorial Steps To Detect Features Using Scale-Invariant Feature Transform (SIFT), and Tutorial Steps To Detect Features Using Features from Accelerated Segment Test (FAST). You can download the XML files from https://viviansiahaan.blogspot.com/2023/06/learn-from-scratch-signal-and-image.html.

POSTGRESQL FOR JAVA GUI: Database, Cryptography, and Image Processing

POSTGRESQL FOR JAVA GUI: Database, Cryptography, and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 490
Release: 2019-09-01
Genre: Computers
ISBN:

In this book, you will learn how to build from scratch a criminal records management database system using Java/PostgreSQL. All Java code for cryptography and digital image processing in this book is Native Java. Intentionally not to rely on external libraries, so that readers know in detail the process of extracting digital images from scratch in Java. There are only three external libraries used in this book: Connector / J to facilitate Java to PostgreSQL connections, JCalendar to display calendar controls, and JFreeChart to display graphics. Digital image techniques to extract image features used in this book are grascaling, sharpening, invertering, blurring, dilation, erosion, closing, opening, vertical prewitt, horizontal prewitt, Laplacian, horizontal sobel, and vertical sobel. For readers, you can develop it to store other advanced image features based on descriptors such as SIFT and others for developing descriptor based matching. In the first chapter, you will learn: How to install NetBeans, JDK 11, and the PostgreSQL connector; How to integrate external libraries into projects; How the basic PostgreSQL commands are used; How to query statements to create databases, create tables, fill tables, and manipulate table contents is done. In the second chapter, you will learn querying data from the postgresql using jdbc including establishing a database connection, creating a statement object, executing the query, processing the resultset object, querying data using a statement that returns multiple rows, querying data using a statement that has parameters, inserting data into a table using jdbc, updating data in postgresql database using jdbc, calling postgresql stored function using jdbc, deleting data from a postgresql table using jdbc, and postgresql jdbc transaction. In the second chapter, you will learn the basics of cryptography using Java. Here, you will learn how to write a Java program to count Hash, MAC (Message Authentication Code), store keys in a KeyStore, generate PrivateKey and PublicKey, encrypt / decrypt data, and generate and verify digital prints. In the third chapter, you will learn how to create and store salt passwords and verify them. You will create a Login table. In this case, you will see how to create a Java GUI using NetBeans to implement it. In addition to the Login table, in this chapter you will also create a Client table. In the case of the Client table, you will learn how to generate and save public and private keys into a database. You will also learn how to encrypt / decrypt data and save the results into a database. In the fourth chapter, you will create an Account table. This account table has the following ten fields: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In this case, you will learn how to implement generating and verifying digital prints and storing the results into a database. In the fifth chapter, you create a table with the name of the Account, which has ten columns: account_id (primary key), client_id (primarykey), account_number, account_date, account_type, plain_balance, cipher_balance, decipher_balance, digital_signature, and signature_verification. In the sixth chapter, you will create a Client_Data table, which has the following seven fields: client_data_id (primary key), account_id (primary_key), birth_date, address, mother_name, telephone, and photo_path. In the seventh chapter, you will be taught how to create Crime database and its tables. In eighth chapter, you will be taught how to extract image features, utilizing BufferedImage class, in Java GUI. In the nineth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Suspect table data. This table has eleven columns: suspect_id (primary key), suspect_name, birth_date, case_date, report_date, suspect_ status, arrest_date, mother_name, address, telephone, and photo. In the tenth chapter, you will be taught to create Java GUI to view, edit, insert, and delete Feature_Extraction table data. This table has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. In the eleventh chapter, you will add two tables: Police_Station and Investigator. These two tables will later be joined to Suspect table through another table, File_Case, which will be built in the seventh chapter. The Police_Station has six columns: police_station_id (primary key), location, city, province, telephone, and photo. The Investigator has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. Here, you will design a Java GUI to display, edit, fill, and delete data in both tables. In the twelfth chapter, you will add two tables: Victim and File_Case. The File_Case table will connect four other tables: Suspect, Police_Station, Investigator and Victim. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The File_Case has seven columns: file_case_id (primary key), suspect_id (foreign key), police_station_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. Here, you will also design a Java GUI to display, edit, fill, and delete data in both tables. Finally, this book is hopefully useful for you.

START FROM SCRATCH DIGITAL IMAGE PROCESSING WITH TKINTER

START FROM SCRATCH DIGITAL IMAGE PROCESSING WITH TKINTER
Author: Vivian Siahaan
Publisher: BALIGE PUBLISHING
Total Pages: 490
Release: 2023-10-21
Genre: Computers
ISBN:

"Start from Scratch: Digital Image Processing with Tkinter" is a beginner-friendly guide that delves into the basics of digital image processing using Python and Tkinter, a popular GUI library. The project is divided into distinct modules, each focusing on a specific aspect of image manipulation. The journey begins with an exploration of Image Color Space. Here, readers encounter the Main Form, which serves as the entry point to the application. It provides a user-friendly interface for loading images, selecting color spaces, and visualizing various color channels. The Fundamental Utilities play a crucial role by providing core functionalities like loading images, converting color spaces, and manipulating pixel data. The project also includes forms dedicated to displaying individual color channels and offering insights into the current color space through histograms. The Plotting Utilities module facilitates the creation of visual representations such as plots and graphs, enhancing the user's understanding of color spaces. Moving on, the Image Transformation section introduces readers to techniques like the Fast Fourier Transform (FFT). The Fast Fourier Transform Utilities module enables the implementation of FFT algorithms for converting images from spatial to frequency domains. A corresponding form allows users to view images in the frequency domain, with additional adjustments made to the plotting utilities for effective visualization. In the context of Discrete Cosine Transform (DCT), readers gain insights into algorithms and functions for transforming images. The Form for Discrete Cosine Transform aids in visualizing images in the DCT domain, while the plotting utilities are modified to accommodate these transformed images. The Discrete Sine Transform (DST) section introduces readers to DST algorithms and their role in image transformation. A dedicated form for visualizing images in the DST domain is provided, and the plotting utilities are further extended to handle these transformations effectively. Moving Average Smoothing is another critical aspect covered in the project. The Filter2D Utilities facilitate the application of moving average smoothing techniques. Additionally, metrics utilities enable the assessment of the smoothing process, with forms available for displaying both metrics and the smoothed images. Next, the project addresses Exponential Moving Average techniques, modifying the existing utilities to accommodate this specific approach. Similarly, forms for visualizing results and metrics are provided. Readers are then introduced to techniques like Median Filtering, Savitzky-Golay Filtering, and Wiener Filtering. The Filter2D Utilities are adapted to facilitate these filtering methods, and metrics utilities are employed to assess the effectiveness of each technique. Forms dedicated to each filtering method provide a platform for visualizing the results. The final section of the project explores techniques such as Total Variation Denoising, Non-Local Means Denoising, and PCA Denoising. The Filter2D Utilities are once again modified to support these denoising techniques. Metrics utilities are employed to evaluate the denoising process, and dedicated forms offer visualization capabilities. By breaking down the project into these modules, readers can systematically grasp the fundamentals of digital image processing, gradually building their skills from one concept to the next. Each section provides hands-on experience and practical knowledge, making it an ideal starting point for beginners in image processing.

THREE PROJECTS: SQL SERVER AND PYTHON GUI FOR DATA ANALYSIS

THREE PROJECTS: SQL SERVER AND PYTHON GUI FOR DATA ANALYSIS
Author: Vivian Siahaan
Publisher: BALIGE PUBLISHING
Total Pages: 1344
Release: 2022-11-08
Genre: Computers
ISBN:

PROJECT 1: FULL SOURCE CODE: SQL SERVER FOR STUDENTS AND DATA SCIENTISTS WITH PYTHON GUI In this project, we provide you with the SQL SERVER version of SQLite sample database named chinook. The chinook sample database is a good database for practicing with SQL, especially PostgreSQL. The detailed description of the database can be found on: https://www.sqlitetutorial.net/sqlite-sample-database/. The sample database consists of 11 tables: The employee table stores employees data such as employee id, last name, first name, etc. It also has a field named ReportsTo to specify who reports to whom; customers table stores customers data; invoices & invoice_items tables: these two tables store invoice data. The invoice table stores invoice header data and the invoice_items table stores the invoice line items data; The artist table stores artists data. It is a simple table that contains only the artist id and name; The album table stores data about a list of tracks. Each album belongs to one artist. However, one artist may have multiple albums; The media_type table stores media types such as MPEG audio and AAC audio files; genre table stores music types such as rock, jazz, metal, etc; The track table stores the data of songs. Each track belongs to one album; playlist & playlist_track tables: The playlist table store data about playlists. Each playlist contains a list of tracks. Each track may belong to multiple playlists. The relationship between the playlist table and track table is many-to-many. The playlist_track table is used to reflect this relationship. In this project, you will write Python script to create every table and insert rows of data into each of them. You will develop GUI with PyQt5 to each table in the database. You will also create GUI to plot: case distribution of order date by year, quarter, month, week, and day; the distribution of amount by year, quarter, month, week, day, and hour; the bottom/top 10 sales by employee, the bottom/top 10 sales by customer, the bottom/top 10 sales by customer, the bottom/top 10 sales by artist, the bottom/top 10 sales by genre, the bottom/top 10 sales by play list, the bottom/top 10 sales by customer city, the bottom/top 10 sales by customer city, the bottom/top 10 sales by customer city, the payment amount by month with mean and EWM, the average payment amount by every month, and amount payment in all years. PROJECT 2: FULL SOURCE CODE: SQL SERVER FOR DATA ANALYTICS AND VISUALIZATION WITH PYTHON GUI This book uses SQL SERVER version of MySQL-based Sakila sample database. It is a fictitious database designed to represent a DVD rental store. The tables of the database include film, film_category, actor, customer, rental, payment and inventory among others. The Sakila sample database is intended to provide a standard schema that can be used for examples in books, tutorials, articles, samples, and so forth. Detailed information about the database can be found on website: https://dev.mysql.com/doc/index-other.html. In this project, you will develop GUI using PyQt5 to: read SQL SERVER database and every table in it; read every actor in actor table, read every film in films table; plot case distribution of film release year, film rating, rental duration, and categorize film length; plot rating variable against rental_duration variable in stacked bar plots; plot length variable against rental_duration variable in stacked bar plots; read payment table; plot case distribution of Year, Day, Month, Week, and Quarter of payment; plot which year, month, week, days of week, and quarter have most payment amount; read film list by joining five tables: category, film_category, film_actor, film, and actor; plot case distribution of top 10 and bottom 10 actors; plot which film title have least and most sales; plot which actor have least and most sales; plot which film category have least and most sales; plot case distribution of top 10 and bottom 10 overdue customers; plot which customer have least and most overdue days; plot which store have most sales; plot average payment amount by month with mean and EWM; and plot payment amount over June 2005. PROJECT 3: ZERO TO MASTERY: THE COMPLETE GUIDE TO LEARNING SQL SERVER AND DATA SCIENCE WITH PYTHON GUI In this project, we provide you with a SQL SERVER version of an Oracle sample database named OT which is based on a global fictitious company that sells computer hardware including storage, motherboard, RAM, video card, and CPU. The company maintains the product information such as name, description standard cost, list price, and product line. It also tracks the inventory information for all products including warehouses where products are available. Because the company operates globally, it has warehouses in various locations around the world. The company records all customer information including name, address, and website. Each customer has at least one contact person with detailed information including name, email, and phone. The company also places a credit limit on each customer to limit the amount that customer can owe. Whenever a customer issues a purchase order, a sales order is created in the database with the pending status. When the company ships the order, the order status becomes shipped. In case the customer cancels an order, the order status becomes canceled. In addition to the sales information, the employee data is recorded with some basic information such as name, email, phone, job title, manager, and hire date. In this project, you will write Python script to create every table and insert rows of data into each of them. You will develop GUI with PyQt5 to each table in the database. You will also create GUI to plot: case distribution of order date by year, quarter, month, week, and day; the distribution of amount by year, quarter, month, week, day, and hour; the distribution of bottom 10 sales by product, top 10 sales by product, bottom 10 sales by customer, top 10 sales by customer, bottom 10 sales by category, top 10 sales by category, bottom 10 sales by status, top 10 sales by status, bottom 10 sales by customer city, top 10 sales by customer city, bottom 10 sales by customer state, top 10 sales by customer state, average amount by month with mean and EWM, average amount by every month, amount feature over June 2016, amount feature over 2017, and amount payment in all years.

Python GUI For Signal and Image Processing

Python GUI For Signal and Image Processing
Author: Vivian Siahaan
Publisher: SPARTA PUBLISHING
Total Pages: 221
Release: 2019-10-05
Genre: Computers
ISBN:

You will learn to create GUI applications using the Qt toolkit. The Qt toolkit, also popularly known as Qt, is a cross-platform application and UI framework developed by Trolltech, which is used to develop GUI applications. You will develop an existing GUI by adding several Line Edit widgets to read input, which are used to set the range and step of the graph (signal). Next, Now, you can use a widget for each graph. Add another Widget from Containers in gui_graphics.ui using Qt Designer. Then, Now, you can use two Widgets, each of which has two canvases. The two canvases has QVBoxLayout in each Widget. Finally, you will apply those Widgets to display the results of signal and image processing techniques.

Hands-On Guide To IMAGE CLASSIFICATION Using Scikit-Learn, Keras, And TensorFlow with PYTHON GUI

Hands-On Guide To IMAGE CLASSIFICATION Using Scikit-Learn, Keras, And TensorFlow with PYTHON GUI
Author: Vivian Siahaan
Publisher: BALIGE PUBLISHING
Total Pages: 210
Release: 2023-06-20
Genre: Computers
ISBN:

In this book, implement deep learning on detecting face mask, classifying weather, and recognizing flower using TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries. In chapter 1, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform detecting face mask using Face Mask Detection Dataset provided by Kaggle (https://www.kaggle.com/omkargurav/face-mask-dataset/download). Here's an overview of the steps involved in detecting face masks using the Face Mask Detection Dataset: Import the necessary libraries: Import the required libraries like TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, and NumPy.; Load and preprocess the dataset: Load the dataset and perform any necessary preprocessing steps, such as resizing images and converting labels into numeric representations.; Split the dataset: Split the dataset into training and testing sets using the train_test_split function from Scikit-Learn. This will allow us to evaluate the model's performance on unseen data.; Data augmentation (optional): Apply data augmentation techniques to artificially increase the size and diversity of the training set. Techniques like rotation, zooming, and flipping can help improve the model's generalization.; Build the model: Create a Convolutional Neural Network (CNN) model using TensorFlow and Keras. Design the architecture of the model, including the number and type of layers.; Compile the model: Compile the model by specifying the loss function, optimizer, and evaluation metrics. This prepares the model for training. Train the model: Train the model on the training dataset. Adjust the hyperparameters, such as the learning rate and number of epochs, to achieve optimal performance.; Evaluate the model: Evaluate the trained model on the testing dataset to assess its performance. Calculate metrics such as accuracy, precision, recall, and F1 score.; Make predictions: Use the trained model to make predictions on new images or video streams. Apply the face mask detection algorithm to identify whether a person is wearing a mask or not.; Visualize the results: Visualize the predictions by overlaying bounding boxes or markers on the images or video frames to indicate the presence or absence of face masks. In chapter 2, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform how to classify weather using Multi-class Weather Dataset provided by Kaggle (https://www.kaggle.com/pratik2901/multiclass-weather-dataset/download). To classify weather using the Multi-class Weather Dataset from Kaggle, you can follow these general steps: Load the dataset: Use libraries like Pandas or NumPy to load the dataset into memory. Explore the dataset to understand its structure and the available features.; Preprocess the data: Perform necessary preprocessing steps such as data cleaning, handling missing values, and feature engineering. This may include resizing images (if the dataset contains images) or encoding categorical variables.; Split the data: Split the dataset into training and testing sets. The training set will be used to train the model, and the testing set will be used for evaluating its performance.; Build a model: Utilize TensorFlow and Keras to define a suitable model architecture for weather classification. The choice of model depends on the type of data you have. For image data, convolutional neural networks (CNNs) often work well.; Train the model: Train the model using the training data. Use appropriate training techniques like gradient descent and backpropagation to optimize the model's weights.; Evaluate the model: Evaluate the trained model's performance using the testing data. Calculate metrics such as accuracy, precision, recall, or F1-score to assess how well the model performs.; Fine-tune the model: If the model's performance is not satisfactory, you can experiment with different hyperparameters, architectures, or regularization techniques to improve its performance. This process is called model tuning.; Make predictions: Once you are satisfied with the model's performance, you can use it to make predictions on new, unseen data. Provide the necessary input (e.g., an image or weather features) to the trained model, and it will predict the corresponding weather class. In chapter 3, you will learn how to use TensorFlow, Keras, Scikit-Learn, OpenCV, Pandas, NumPy and other libraries to perform how to recognize flower using Flowers Recognition dataset provided by Kaggle (https://www.kaggle.com/alxmamaev/flowers-recognition/download). Here are the general steps involved in recognizing flowers: Data Preparation: Download the Flowers Recognition dataset from Kaggle and extract the contents. Import the required libraries and define the dataset path and image dimensions.; Loading and Preprocessing the Data: Load the images and their corresponding labels from the dataset. Resize the images to a specific dimension. Perform label encoding on the flower labels and split the data into training and testing sets. Normalize the pixel values of the images.; Building the Model: Define the architecture of your model using TensorFlow's Keras API. You can choose from various neural network architectures such as CNNs, ResNet, or InceptionNet. The model architecture should be designed to handle image inputs and output the predicted flower class..; Compiling and Training the Model: Compile the model by specifying the loss function, optimizer, and evaluation metrics. Common choices include categorical cross-entropy loss and the Adam optimizer. Train the model using the training set and validate it using the testing set. Adjust the hyperparameters, such as the learning rate and number of epochs, to improve performance.; Model Evaluation: Evaluate the trained model on the testing set to measure its performance. Calculate metrics such as accuracy, precision, recall, and F1-score to assess how well the model is recognizing flower classes.; Prediction: Use the trained model to predict the flower class for new images. Load and preprocess the new images in a similar way to the training data. Pass the preprocessed images through the trained model and obtain the predicted flower class labels.; Further Improvements: If the model's performance is not satisfactory, consider experimenting with different architectures, hyperparameters, or techniques such as data augmentation or transfer learning. Fine-tuning the model or using ensembles of models can also improve accuracy.