Photo Editing App
Photo Editing App
Photo Editing App
Project Report
Submitted in partial fulfilment of the
requirements for the award of the Degree
CERTIFICATE
This is to certify that the project titled, “PHOTO EDITOR APP”, is submitted by
SANYUKTA SANTOSH NIRGUDE bearing Seat. No: 2105318 in partial
fulfilment of the requirements for the award of degree of B.Sc (COMPUTER
SCIENCE) – Sem VI on behalf of University of Mumbai during the academic
year 2021-2022.
Objectives
The following are the objectives of the project-
* Think and plan before editing photos.
* Have a basic working knowledge of digital photo editing using python
language.
* Edit good photos into great photos.
* Create visually interesting photos of people, places and things.
* Try to experimenting more with their editing skills to improve photos.
* Identify opportunities for creatively editing more advanced photos.
* Use digital photography editing to communicate with people across the world.
ACKNOWLEDGEMENT
It gives great pleasure and pride as I presented my project on PHOTO EDITOR
APP”. This acknowledgement is a small effort to express and our gratitude to all
those who have shown me the path to bring out the various colours of this
project with their vast treasure of experience and knowledge. I would like to
express my sincere thanks to Mrs. RAJASHREE PRABU who helped me
throughout the project for providing me support, conductive work environment
and needful suggestions and guidance to conclude this project on time. Mrs.
RAJASHREE PRABU has provided me with the guidance and necessary
support during each phase of the project.
Purpose, scope and Applicability
The following purpose of this project is –
Scope-
The following scope of this project is-
Business like
marketing, Quality Project Plan
fashion,
advertising
*Image editing Software using Python is needed for many things. However, the
primary and most aim of photo editing services is to modify an image for making
it more attractive and appealing.
*Different businesses are utilizing the help of image editing such as e-commerce
business, real estate, advertising and marketing, magazine, apparel industry,
fashion, photography, and a lot more.
For example, in the e-commerce industry, photos are prime factors that are
responsible for attracting customers. Here, a single edited photo or poster can
convey more details to a customer than a long product description. This is also the
same for real estate, apparel industry, fashion, etc.
*Once images are taken off the camera the photographer or editor will view the
images and begin to rank them.
*Unusable images are deleted and multiple images of the same scene are kept on
hold. Post processing edits are usually applied, e.g. lighting corrections and
removal of lens distortions, are applied to the content is better viewed.
Applicability-
The following applicability of this project are-
*Some applications allow you to make only a few basic changes, while others
give you access to advanced and powerful tools and functions. Some of the
software are free and some are paid.
*Most computer systems and mobile devices come with basic image editing
program.
* Almost every Windows computer includes Microsoft Paint. Paint is a simple
drawing application, but it can also be used for basic image adjustments and
transformation.
*Another software in windows is Microsoft Photos, it is a free application that
includes more advanced editing tools and let you easily organize photos.
* Mac book or IOS include Preview. While this program is primarily used for
viewing images and PDF files, it also includes several basic editing tools. New
Mac books also come pre-installed with Apple Photos, which you can use to
organize and edit photos.
* Photos taken on Android devices can be adjusted and edited in
the Google Photos application or the Gallery application.
*Photo Editing Software made with Python Programming language is also a
basic free editing tool just for project, but it has several options of editing tools.
Achievements
*The number of softwares achieved rewards are as follows-
Snapseed-
*Snapseed is a professional photo editor software for iOS and Android. This app
is available for all types of editing with control over colour and exposure.
* Recently, this software hits 130 million monthly active users across the world.
*This photo editor application has received the total funding amount of $95
million and has 30 million monthly active users across its platform. This
Software has number of accounts grown 802 percent year over year.
*The images that are published on this platform are up by 952 percent and 5
billion images are viewed each month. The company says that approximately 80
percent of its user base is international, and that is explosive growth.
Organization of Project-
The introduction is made up of many different sections, as shown below.
*Background:
A summary of the project's history and context, as well as its relationship to
previous work in the area. A outline of existing projects in the area where this
project will be implemented.
*Objectives:
A concise explanation of the project's goals and objectives. What exactly this
project will involve is given in this section.
*Purpose:
A description of the project's topic that answers queries about why it's being
done. Project's potential to improve the system's importance and theoretical
framework will be included here.
*Scope:
A brief description of the scope, assumptions, and constraints.
*Applicability:
This section discusses about how this project will benefit the computer industry
and people.
*Achievements:
How much knowledge is gained as a result of completing this project. What
goals are achieved and have they met my expectations.
*Organisation of Report:
*Survey of Technologies:
1.PYTHON-
3. Machine learning-
*Machine learning is an application of artificial intelligence (AI) that can provide a system of the
ability to automatic learn and improve from their experience without explicit programmed.
*Machine learning can focus on the development of computer programs which can access the data
and use to learn from themselves. The process of learning begins from observations or data the
primary aim is allowing the computers to learn automatically without human intervention or
assistance and adjust actions accordingly.
This Project illustrates what technologies and Programming languages are used
in making this project and what problem was there in existing system are
explained in detail. Why did we chose a particular Programming language for
the implementation is this project is also mentioned.
*Problem Defination:
The problem that the I will be working on during the assignment. Specifics
about the main problem before breaking it down into sub-problems.
*Requirements Specification:
Here we determine what are the functional and non-functional requirements
required for this project.
*Hardware Requirement: This section must include the essential hardware, such
as a graphics card, numeric coprocessor, mouse, disc capacity, RAM capacity,
and so on, to operate the software.
*Software Requirements:
This section must list the operating system, compiler, testing tools, linker, and
libraries, among other things, that are required to compile, link, and install the
software.
*Conceptual Models:
It describes operations that can be performed on the system, and the allowable
sequences of those operations. Conceptual Models could consist of complete
Data Flow Diagrams, ER diagrams, Object-oriented diagrams, System
Flowcharts etc.
In effect, summarising the remaining chapters of this project report offering the
reader an outline of the project report's contents.
*A well-planned and organised attitude to work
* Work in the organisation will be well-planned and organised. The data will
be correctly saved in data stores, which will aid in both retrieval and storage of
information.
*The proposed system will have a better level of accuracy. All operations would
be completed appropriately, and any information received from the centre would
be accurate.
*Due to the reasons described above, the suggested system will have a high
level of reliability. The increased system reliability can be attributed to the fact
that data is now properly stored.
*In the proposed system, every effort would be made to ensure that no
information is duplicated anywhere, whether in storage or elsewhere. This will
ensure efficient storage space utilisation and data consistency.
*The suggested system's major goal is to make information retrieval quick and
efficient.
*In a manual system, it can be difficult to save a huge volume of data.
*The system should be simple to use and designed in such a way that it may be
produced in a short amount of time while staying within the user's budget.
FLOW CHART OF PROJECT
1.Case Diagram Of the Project-
*The shown case diagram distinguishes the different parts of Photo editing
software using Python. It provides a Web-based interface for ordering a
products, where the photo editor software is used to edit programs to every local
computer.
*The photo editor software and web process are in different processes. This
also means that they are two independent applications and have no anticipated
dependencies.
*It use cases for loading and saving pictures in the photo editor, as well as a use
case for uploading images to the Web application.
*It simplest is a representation of a user's interaction with the system and
depicting the specifications of a use case. A use case diagram can portray the
different types of users of a system and the case and will often be accompanied
by other types of diagrams as well.
F:picture_load_and_save Functional It shall be possible to load pictures into the photo editor
software, alter them, save them either to the same way or to the new file.
F:image_crop Functional If an image is loaded then the photo editor shall provide
functionally to select a region of interest and crop the image to the region.
F:image_rotate Functional If an image is loaded then the photo editor shall provide
functionally to select a region of interest and crop image to that image.
F:image_flip Functional If the image is loaded the photo editor shall be able to
rotate an image by 90 degree in both directions.
*The photo_editor Requirement The photo editor application will run in its
own namespace. For this iteration, the photo editor application will provide
basic functionality. The figure shows the screen layout and the controls used. It
does not define the exact appearance or shapes of the resources that are used to
implement the GUI. We’re using a toolbar menu containing the items
Open, Save, Save As, and Exit. For the image-processing functionality, a
Tab Control with buttons is provided. The idea is to group related functionality
on one tab and to provide other tabs for other groups of functionality.
* The error_handling Requirement Errors are reported via the exception-
handling mechanism. Various messages will be available to identify the error
that led to the message. The errors will be reported via message boxes and will
contain meaningful error messages.
*The picture_load_and_save Requirement Users will be able to load and save
rectangular pictures. The load and save option is part of the File menu. Users
can browse for files or specify a file manually, and we use the standard
Windows Forms Open/Save File dialog
*The image_crop Requirement Image crop allows users to extract a rectangular
part of the image. When the Crop button is pressed, a dialog window opens and
the user is asked to type in the width and height of the cropped image. The
image is cropped to the size specified by the user if the size specified is smaller
than the actual image; otherwise, it is ignored. The cropping is done in a way
that the midpoint of the original image is the midpoint of the cropping rectangle
defined by the user. The area outside the cropping rectangle is deleted, and the
new image in the new size is shown. If the defined cropping rectangle is larger
than the image, no cropping is done.
The image_rotate Requirement The image can be rotated in 90 degree steps
clockwise and counterclockwise. The image will be shown in the same location
and with the same midpoint as the original image.
The image_flip Requirement By pressing the image flip buttons, users can flip
the image either horizontally or vertically. By “flip,” we mean mirroring the
image. The position of the midpoint of the image stays the same. The image will
be shown in the same location and with the same midpoint as the original image.
The image_format Requirement The standard formats for pictures are supported.
If an image with another format is selected, an error message will be shown.
(A) Main.py
(B) Init.py
(C) editBar.py
(D) filterFrame.py
(E)adjustFrame.py
(F)imageViewer
(G)setup.py
Screenshot of Simple Photo editor software
*Implementation Approaches-
*When
looking at
a diagram of a spiral model, the radius of the spiral represents the cost of
the project and the angular degree represents the progress made in the
current phase. Each phase begins with a goal and ends with the developer
or client reviews of the progress.
*The overall goal of the phase should be determined and all objectives
should be elaborated and analysed. It is important thing to identify the
alternative solutions in case of the attempt version which fails to perform.
*Finally, in the last quadrant, the test results of the new version are
evaluated. This can be analysed and allows programmers to stop and
understand what it had worked and what it didn’t work before proceeding
with a new build work. At the end, planning for the next begins and the
cycle repeats again.
Testing of System
Testing activity is carried down by a team of testers, in order to find the
defect in the software. Test carried on the piece of software and if they
encounter any defect for e.g. actual results don't match expected results.
Along with the nature of defect, testers also have to report at what point
the defect occurred and what happened due the occurrence of that defect.
All this information will be used by development to DEBUG the defect.
Debugging is the activity which is carried out by the developer, after
getting the test report from the testing about defect(s) (you may note
defects can also be reports by the client). The developer then tries to find
the cause of the defect, in this quest he may need to go through lines of
code and find which part of code in causing that defect. After finding out
the bug, he tries to modify that portion of code and then he rechecks if
the defect has been finally removed. After fixing the bug, developers
send the software back to tester to run the program successfully.
List of test cases carried out with different size file.
Test Case ID Input Case Output Case Status
1. Picking Image Size No Error PASS
Upto 1mb size.
REFERENCES
*Ryan Cohen and Tao Wang, GUI Design for Android App, 2014.
* Hays, Pierre-Yves Laffont , Zhile Ren , Xiaofeng Tao, and Chao Qian,
Photo editing algorithm changes weather, seasons automatically, Brown
University, 2014.
*Jamie Ludwig, Image Convolution, Portland State University, 2013.
*Reto Meier, Professional Android 4 Application Development, 2012.
*Michael Burton and Donn Felker, Android Application Development
For Dummies, 2nd Edition, 2012.
*Yael Pritch, Eitam Kav-Venaki and Shmuel Peleg, Shift-Map Image
Editing, The Hebrew University of Jerusalem, 2009.
*Lei Zhang, Yanfeng Sun, Mingjing Li, Hongjiang Zhang, automated
red-eye detection and correction in digital photographs, Microsoft
Research Asia, 2007
Conclusion
Taking a brief dive into photo editing, we used Pillow to format and filter a
photo. We used tkinter for the front-end portion to display the updating photo
and our button options. Incorporating a loop, we were able to undo all of our
changes. For the app to work, our original photo must be small enough to
display, and also must be named “tiger.jpg”. This way, we could iterate through
the photos. Although it did not deal with videos, Pillow was an interesting first
look in the photoshop world. The application had a few working functions but
has room for expansion and customization. Hopefully, you can take what we
looked at with Pillow and make your own photoshop application.
Future Enhancement
For the uses, cultural impact, and ethical concerns of image editing, see Photo
manipulation. For the process of culling and archiving images, see Digital asset
management. For the restoration of physical photographs using digital
techniques, see Digital photograph restoration.
Image editing encompasses the processes of altering images, whether they
are digital photographs, traditional photo-chemical photographs, or illustrations.
Traditional analog image editing is known as photo retouching, using tools such
as an airbrush to modify photographs or editing illustrations with any
traditional art medium. Graphic software programs, which can be broadly
grouped into vector graphics editors, raster graphics editors, and 3D modelers,
are the primary tools with which a user may manipulate, enhance, and transform
images. Many image editing programs are also used to render or
create computer art from scratch.