Learn From Scratch Signal And Image Processing With Python Gui

eBook Download

BOOK EXCERPT:

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.

Product Details :

Genre : Technology & Engineering
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2023-06-14
File : 372 Pages
ISBN-13 :


Python Gui For Signal And Image Processing

eBook Download

BOOK EXCERPT:

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.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : SPARTA PUBLISHING
Release : 2019-10-05
File : 221 Pages
ISBN-13 :


Start From Scratch Digital Image Processing With Tkinter

eBook Download

BOOK EXCERPT:

"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.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2023-10-21
File : 490 Pages
ISBN-13 :


Start From Scratch Digital Signal Processing With Tkinter

eBook Download

BOOK EXCERPT:

In this project, you will create a multi-form GUI to implement digital signal processing. Creating a GUI involves designing an interface where users can input parameters and visualize the results of various signal processing techniques. Each form corresponds to a specific technique and is implemented using the tkinter library. The "Simple Sinusoidal Form" allows users to generate and visualize a basic sinusoidal signal. It includes input fields for parameters like frequency, amplitude, and time period. The utilities associated with this form provide functions to generate and plot the simple sinusoidal signal. The "Two Sinusoidals Form" extends the previous form, enabling users to generate and visualize two combined sinusoidal signals. It provides input fields for frequencies, amplitudes, and time periods of both signals. The utilities handle the generation and plotting of the combined sinusoidal signals. The "More Two Sinusoidals Form" further extends the previous form to generate and visualize additional combined sinusoidal signals. It includes input fields for frequencies, amplitudes, and time periods of three sinusoidal signals. The utilities handle the generation and plotting of these combined signals. Forms for various modulation techniques (AM, FM, PM, ASK, FSK, PSK) are available. These allow users to generate and visualize modulated signals by providing input fields for modulation indices, carrier frequencies, and time periods. The utilities in each form handle the signal generation and modulation process, as well as the plotting of the modulated signals. Forms for different filter designs (FIR, Butterworth, Chebyshev Type 1) cover lowpass, highpass, bandpass, and bandstop filters. They include input fields for filter order, cutoff frequencies, and other relevant parameters. The utilities in each form implement the filter design and frequency response plotting. Wavelet transformation forms focus on wavelet-based techniques, including scaling, decomposition, and denoising. They provide input fields for wavelet type, thresholding methods, and other wavelet-specific parameters. The utilities handle the wavelet transformations, denoising, and visualizing the results. Forms for various denoising techniques (MA, EMA, Median, SGF, Wiener, TV, NLM, PCA) cover different smoothing and denoising methods. They offer input fields for relevant denoising parameters. The utilities for each form implement the denoising process and display the denoised signals. Each form's utility methods interact with the GUI elements, taking user inputs and performing the corresponding signal processing tasks. These utilities encapsulate the underlying algorithms and ensure a seamless interaction between the user interface and the backend computations. In summary, this session involves creating a comprehensive GUI for a wide range of signal processing techniques, including signal generation, modulation, filtering, wavelet transformations, and various denoising methods. Each form and its associated utilities handle specific tasks, ensuring an intuitive and effective user experience.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2023-10-13
File : 506 Pages
ISBN-13 :


Learn From Scratch Visual C Net With Mysql

eBook Download

BOOK EXCERPT:

In Tutorial 1, you will start building a Visual C# interface for database management system project using MySQL. The database, named DBMS, is created. The designed interface in this tutorial will used as the main terminal in accessing other forms. This tutorial will also discuss how to create login form and login table. In Tutorial 2, you will build a project, as part of database management system, where you can store information about valuables in school. The table will have seven fields: Item (description of the item), Location (where the item was placed), Shop (where the item was purchased), DatePurchased (when the item was purchased), Cost (how much the item cost), SerialNumber (serial number of the item), PhotoFile (path of the photo file of the item), and Fragile (indicates whether a particular item is fragile or not). In Tutorial 3 up to Tutorial 4, you will perform the steps necessary to add 6 tables using phpMyAdmin into DBMS database. You will build each table and add the associated fields as needed. In this tutorials, you will create a library database project, as part of database management system, where you can store all information about library including author, title, and publisher. In Tutorial 5 up to Tutorial 7, you will perform the steps necessary to add 8 more tables using phpMyAdmin into DBMS database. You will build each table and add the associated fields as needed. In this tutorials, you will create a high school database project, as part of database management system, where you can store all information about school including parent, teacher, student, subject, and, title, and grade.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2020-10-05
File : 684 Pages
ISBN-13 :


The Absolute Beginner S Guide To Learn Python Gui With Mysql And Sql Server Databases

eBook Download

BOOK EXCERPT:

This hands-on book introduces the essential topic of coding and the Python computer language to beginners and pogrammers of all ages. This book explains relational theory in practice, and demonstrates through two projects how you can apply it to your use of MySQL and SQL Server databases. This book covers the important requirements of teaching databases with a practical and progressive perspective. This book offers the straightforward, practical answers you need to help you do your job. This hands-on tutorial/reference/guide to MySQL and SQL Server is not only perfect for students and beginners, but it also works for experienced developers who aren't getting the most from both databases. In designing a GUI and as an IDE, you will make use Qt Designer. In the first chapter, you will learn to use several widgets in PyQt5: Display a welcome message; Use the Radio Button widget; Grouping radio buttons; Displays options in the form of a check box; and Display two groups of check boxes. In chapter two, you will learn to use the following topics: Using Signal / Slot Editor; Copy and place text from one Line Edit widget to another; Convert data types and make a simple calculator; Use the Spin Box widget; Use scrollbars and sliders; Using the Widget List; Select a number of list items from one Widget List and display them on another Widget List widget; Add items to the Widget List; Perform operations on the Widget List; Use the Combo Box widget; Displays data selected by the user from the Calendar Widget; Creating a hotel reservation application; and Display tabular data using Table Widgets. In chapter three, you will learn: How to create the initial three tables project in the School database: Teacher, Class, and Subject tables; How to create database configuration files; How to create a Python GUI for inserting and editing tables; How to create a Python GUI to join and query the three tables. In chapter four, you will learn how to: Create a main form to connect all forms; Create a project will add three more tables to the school database: Student, Parent, and Tuition tables; Create a Python GUI for inserting and editing tables; Create a Python GUI to join and query over the three tables. In chapter five, you will join the six classes, Teacher, TClass, Subject, Student, Parent, and Tuition and make queries over those tables. In chapter six, you will create dan configure database. In this chapter, you will create Suspect table in crime database. 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. You will also create GUI to display, edit, insert, and delete for this table. In chapter seven, you will create a table with the name Feature_Extraction, which has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. The six fields (except keys) will have VARBINARY(MAX) data type. You will also create GUI to display, edit, insert, and delete for this table. In chapter eight, you will create two tables, Police and Investigator. The Police table has six columns: police_id (primary key), province, city, address, telephone, and photo. The Investigator table has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. You will also create GUI to display, edit, insert, and delete for both tables. In the last chapter, you will create two tables, Victim and Case_File. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The Case_File table has seven columns: case_file_id (primary key), suspect_id (foreign key), police_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. You will create GUI to display, edit, insert, and delete for both tables.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : SPARTA PUBLISHING
Release : 2020-01-16
File : 552 Pages
ISBN-13 :


Learn From Scratch Visual Basic Net With Mysql

eBook Download

BOOK EXCERPT:

This book will teach you with step-by-step approach to develop from scratch a MySQL-driven desktop application that readers can develop for their own purposes to implement school database project using Visual Basic .NET. In Tutorial 1, you will perform the steps necessary to add 8 tables using phpMyAdmin into School database that you will create. You will build each table and add the associated fields as needed. In this tutorial, you will also build login form and main form. In Tutorial 2, you will build such a form for Parent table. This table has thirteen fields: ParentID, FirstName, LastName, BirthDate, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need fourteen label controls, two picture boxes, six text boxes, four comboxes, one check box, one date time picker, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, six buttons for other utilities, one button for searching member’s name, one button to upload parent’s photo, and button to upload parent’s finger. Place these controls on the form. In Tutorial 3, you will build such a form for Student table. This table has fifteen fields: StudentID, ParentID, FirstName, LastName, BirthDate, YearEntry, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need sixteen label controls, two picture boxes, six text boxes, five comboxes, one check box, two date time pickers, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, seven buttons for controlling editing features, one button for searching parent’s name, one button to open parent form, one button to upload student’s photo, and one button to upload student’s finger. In Tutorial 4, you will build a form for Teacher table. This table has fifteen fields: TeacherID, RegNumber, FirstName, LastName, BirthDate, Rank, Status, Ethnicity, Nationality, Mobile, Phone, Religion, Gender, PhotoFile, and FingerFile). You need an input form so that user can edit existing records, delete records, or add new records. The form will also have the capability of navigating from one record to another. You need sixteen label controls, one picture box, seven text boxes, five comboxes, one check box, one date time picker, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, six buttons for controlling editing features, one button for searching teacher’s name, and one button to upload teacher’s photo. In Tutorial 5, you will build a form for Subject table. This table has only three fields: SubjectID, Name, and Description. You need four label controls, four text boxes, one openfiledialog, and one printpreviewdialog. You also need four buttons for navigation, secen buttons for utilities, and one button for searching subject name. Place these controls on the form. You will also build a form for Grade table. This table has seven fields: GradeID, Name, SubjectID, TeacherID, SchoolYear, TimaStart, and TimeFinish. You need to add seven label controls, one text box, four comboxes, and two date time pickers. You also need four buttons for navigation, seven buttons for controlling editing features, one button to open subject form, and one button to open teacher form. In Tutorial 6, you will build a form for Grade_Student table. This table has only three fields: Grade_StudentID, GradeID, and StudentID. You need an input form so that user can edit existing records, delete records, or add new records. The form will also have the capability of navigating from one record to another. You need two label controls and two comboxes. You also need four buttons for navigation, seven buttons for controlling editing features, one button to open grade form, and one button to open student form.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2020-11-04
File : 304 Pages
ISBN-13 :


Zero To Mastery The Complete Guide To Learning Sqlite And Python Gui

eBook Download

BOOK EXCERPT:

In this project, we provide you with the SQLite version of The Oracle Database Sample Schemas that provides a common platform for examples in each release of the Oracle Database. The sample database is also a good database for practicing with SQL, especially SQLite. The detailed description of the database can be found on: http://luna-ext.di.fc.ul.pt/oracle11g/server.112/e10831/diagrams.htm#insertedID0. The four schemas are a set of interlinked schemas. This set of schemas provides a layered approach to complexity: A simple schema Human Resources (HR) is useful for introducing basic topics. An extension to this schema supports Oracle Internet Directory demos; A second schema, Order Entry (OE), is useful for dealing with matters of intermediate complexity. Many data types are available in this schema, including non-scalar data types; The Online Catalog (OC) subschema is a collection of object-relational database objects built inside the OE schema; The Product Media (PM) schema is dedicated to multimedia data types; The Sales History (SH) schema is designed to allow for demos with large amounts of data. An extension to this schema provides support for advanced analytic processing. The HR schema consists of seven tables: regions, countries, locations, departments, employees, jobs, and job_histories. This book only implements HR schema, since the other schemas will be implemented in the next books.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2022-08-17
File : 307 Pages
ISBN-13 :


The Quick Tutorial To Learn Database Programming Using Python Gui With Mariadb And Postgresql

eBook Download

BOOK EXCERPT:

In this book, you will create two MariaDB and PostgreSQL driven projects using PyQt. The step-by-step guide in this book is expected to help the reader's confidence to become a programmer who can solve database programming problems. A progressive project is provided to demonstrate how to apply the concepts of MariaDB and PostgreSQL using Python. In second chapter, you will learn PyQt that consists of a number of Python bindings for cross-platform applications that combine all the strengths of Qt and Python. By using PyQt, you can include all Qt libraries in Python code, so you can write GUI applications in Python. In other words, you can use PyQt to access all the features provided by Qt through Python code. Because PyQt depends on the Qt libraries at run time, you need to install PyQt. In third chapter, you will learn: How to create the initial three tables project in the School database: Teacher, Class, and Subject tables; How to create database configuration files; How to create a Python GUI for inserting and editing tables; How to create a Python GUI to join and query the three tables. In fourth chapter, you will learn how to: Create a main form to connect all forms; Create a project will add three more tables to the school database: Student, Parent, and Tuition tables; Create a Python GUI for inserting and editing tables; Create a Python GUI to join and query over the three tables. In this chapter, you will join the six classes, Teacher, TClass, Subject, Student, Parent, and Tuition and make queries over those tables. In chapter five, you will create dan configure PotgreSQL database. In this chapter, you will create Suspect table in crime database. 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. You will also create GUI to display, edit, insert, and delete for this table. In chapter six, you will create a table with the name Feature_Extraction, which has eight columns: feature_id (primary key), suspect_id (foreign key), feature1, feature2, feature3, feature4, feature5, and feature6. The six fields (except keys) will have a VARCHAR data type (200). You will also create GUI to display, edit, insert, and delete for this table. In chapter seven, you will create two tables, Police and Investigator. The Police table has six columns: police_id (primary key), province, city, address, telephone, and photo. The Investigator table has eight columns: investigator_id (primary key), investigator_name, rank, birth_date, gender, address, telephone, and photo. You will also create GUI to display, edit, insert, and delete for both tables. In chapter eight, you will create two tables, Victim and Case_File. The Victim table has nine columns: victim_id (primary key), victim_name, crime_type, birth_date, crime_date, gender, address, telephone, and photo. The Case_File table has seven columns: case_file_id (primary key), suspect_id (foreign key), police_id (foreign key), investigator_id (foreign key), victim_id (foreign key), status, and description. You will create GUI to display, edit, insert, and delete for both tables as well.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : SPARTA PUBLISHING
Release : 2020-01-15
File : 535 Pages
ISBN-13 :


Mysql For Data Analysis And Visualization With Python Gui

eBook Download

BOOK EXCERPT:

In this project, you will use the Northwind database which is a sample database that was originally created by Microsoft and used as the basis for their tutorials in a variety of database products for decades. The Northwind database contains the sales data for a fictitious company called “Northwind Traders,” which imports and exports specialty foods from around the world. The Northwind database is an excellent tutorial schema for a small-business ERP, with customers, orders, inventory, purchasing, suppliers, shipping, employees, and single-entry accounting. The Northwind dataset includes sample data for the following: Suppliers: Suppliers and vendors of Northwind; Customers: Customers who buy products from Northwind; Employees: Employee details of Northwind traders; Products: Product information; Shippers: The details of the shippers who ship the products from the traders to the end-customers; Orders and Order_Details: Sales Order transactions taking place between the customers & the company. The Northwind sample database includes 11 tables and the table relationships are showcased in the following entity relationship diagram. 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, day, and hour; 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 supplier, top 10 sales by supplier, bottom 10 sales by customer country, top 10 sales by customer country, bottom 10 sales by supplier country, top 10 sales by supplier country, average amount by month with mean and ewm, average amount by every month, amount feature over june 1997, amount feature over 1998, and all amount feature.

Product Details :

Genre : Computers
Author : Vivian Siahaan
Publisher : BALIGE PUBLISHING
Release : 2022-06-26
File : 335 Pages
ISBN-13 :