0% found this document useful (0 votes)
37 views50 pages

Photo Editor New

The document presents a project report for a 'Photo Editor' developed by Mr. Sanskar Gang under the guidance of Prof. Shweta Padale, as part of the Master's of Computer Application program at Jayawant Institute of Management Studies. It outlines the project's objectives, existing and proposed systems for photo editing, system requirements, and future scope of the project. The report includes an abstract, introduction, acknowledgments, and source code, showcasing the development of innovative image editing tools based on human perception and domain understanding.

Uploaded by

akshj838
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views50 pages

Photo Editor New

The document presents a project report for a 'Photo Editor' developed by Mr. Sanskar Gang under the guidance of Prof. Shweta Padale, as part of the Master's of Computer Application program at Jayawant Institute of Management Studies. It outlines the project's objectives, existing and proposed systems for photo editing, system requirements, and future scope of the project. The report includes an abstract, introduction, acknowledgments, and source code, showcasing the development of innovative image editing tools based on human perception and domain understanding.

Uploaded by

akshj838
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Affiliated to

SAVITRABAI PHULE PUNE UNIVERSITY


2023-2025

PHOTO EDITOR
PROJECT REPORT
Submitted by
Mr. Sanskar Gang
Under the guidance of
Prof. Shweta Padale
in partial fulfilment of the award of degree of
MASTER`S OF COMPUTER APPLICATION
JAYAWANT INSTITUE OF MANAGEMENT
STUDIES ,PUNE
DECLARATION

We hereby declare that the project work entitled “PHOTO EDITOR” submitted for
the MCA-I year is our original work carried out by us under the guidance of Prof.
shweta padale. For the partial fulfilment of the award of degree of the Master`s of
the computer application .The matter embedded in the project is not submitted
anywhere else for the award of any degree.

Place:PUNE Date:

Mr. Sanskar Gang


CERTIFICATE
This is to certify that the Project Report Entitled
“PHOTO EDITOR”
Has been submitted by

Mr. Sanskar Gang

Under My Guidance and Supervision for The Subject


LAB I-Project
Work with Report of Master`s of Computer Application
Savitribai Phule Pune, university.
During the academic year 2023-25

Prof. Shweta Padale Prof. Shweta Padale


Project Guide Head of Department

External Examiner Director


[Link] Bankar

Department of Computer Application(MCA)


JAYAWANT INSTITUTE OF
MANAGEMENT STUDIES,
PUNE - 411033.
2023 – 2025
ACKNOWLEDGEMENT

We would like to thank the project guide [Link] Padale for encouraging
throughout the project and course duration. It is great pleasure for me to
acknowledge the assistance and contributions of our course co-ordinator
[Link] Padale , for his prompt and timely help in the official clearance and
valuable suggestions during the development of this project.
We are thankful for the content encourage given by my project guide and rest
of the faculties and other staff of my department.
We also owe my thanks to non-teaching staff whose unfailing invaluable help
from time to time made the completion of this project a reality and thanks to all
those whom I have not been able to thanks individually.
Last but not least, we express my heartiest gratitude to our parents for their
love and blessings to complete the project successfully.
INDEX

[Link] Content Page No.

1 Abstract

2 Introduction

3 Existing System and Proposed System

4 System Requirement

5 Site Design

6 Databases

7 Project Modules

8 Source Code

9 Future Scope

10 Conclusion

11 References
ABSTRACT

This document describes four projects that, taken together, serve as a proof by example of the
efficacy of a perception-motivated strategy for making graphics tools. More specifically, this
strategy involves first selecting local features motivated by human perception and domain
understanding, and then building algorithms that allow users to interactively edit these
features. While the tools presented herein range over the domains of painting, compositing,
and animation, all share a common philosophy – they spring from the isolation of a basic task-
relevant feature and the creation of support algorithms that allow local edits of this feature at
interactive rates.

Gradient Paint is a paint program inspired by theories of color perception which allows artists
to edit edges between colors rather than colors themselves. The system includes a new real-
time integrator for image display and a set of brushes suited for working with edges. Local
Layering introduces a notion of local overlap which allows artists to stack images as if they
were paper cut-outs. In this work, I present a new way of representing stacked images and
provide a provably correct and sufficient set of operators for navigating this representation.
Soft Stacking is a continuous-domain extension of Local Layering which allows artists to stack
images as if they were volumes of fog.

I present both brush-based and optimization-based creation techniques for such continuous-
domain stackings. 3D-like Texturing for 2D Animation is an attempt to provide 2D artists with a
way to reap one of the primary benefits – coherent texturing – of creating 3D models. The
system I describe, though imperfect, is able to construct a correspondence between various
2D drawings using only local shape information, and in such a way that the computer never
creates a 3D model. These four projects showcase a new, and somewhat effective, strategy for
creating graphics tools that transcend traditional art materials and computer constructs.
INTRODUCTION

In the past 30 years, computer-based creative tools have gained immense


sophistication. From simple, costly, hand-made framebuffers, we‟ve moved to
commercially produced graphics accelerators with on-board computing ability.
From crude light pens, we‟ve moved to reliable, pressure- and tilt-sensitive tablets.
And from rack-filling PDP-11‟s, we‟ve moved to orders-of-magnitude faster (and
smaller) personal computers. Users routinely capture and manipulate images with
tens of millions of pixels, and design 3D models with millions of polygons. But
while the sophistication of our hardware and algorithms has surged forward, the
metaphors that guide our data representation have changed quite slowly. In many
cases, artists seem to be restricted by tools that were designed more for machine
than human – tools that fail to match the user‟s perception and understanding of a
medium.

As a small step toward updating these representations, at least in the discipline of


image editing, I present in this document a proof-by-example of my thesis: New
image editing tools may be created, and existing ones improved, by allowing
interactive edits of perception-motivated local features. Though this positive form
of my thesis statement focuses on what we should include in image editing tools,
there is an equally interesting negative corollary: image editing tools should
preserve ambiguity – both taskirrelevant ambiguity (don‟t force the artist to specify
unnecessary information) and intent ambiguity (don‟t infer more from an artist‟s
action than necessary).

Taken together, my thesis and this corollary begin to sound almost like common
sense. When creating a composition, artists should have tools that allow them to
specify features relevant to the experience of the composition without worrying
about defining irrelevant aspects. Tools should be predictable and minimal,
free from magical side-effects and unexpected excitement. Though this sounds
straightforward, few graphics tools today follow such a philosophy. I expect this
arises from two basic difficulties:
1. Relevance is generally task-dependent and hard to define, so “sufficient” is
often used as a proxy.
2. Computers hate ambiguity.

In my prototype systems, which I will describe shortly, I address the question of


relevance by appealing to perception (both established literature and self-
experimentation) and the problem of ambiguity with algorithms designed to – when
necessary – interpolate and extrapolate smoothly from user edits.

I will now briefly summarize the four new image editing systems which I have
designed with this thesis and corollary in mind:
• In traditional paint programs, images are represented as grids of intensity values,
like paint on canvas.
However, perceptual studies indicate that the human visual system works on
intensity differences.
With Gradient Paint I allow artists to edit color differences directly, and leave
absolute pixel color ambiguous (to be determined, later, by context).

• In standard digital compositing, graphical elements are ordered in global lists, like
stacks of film.
This prevents artists from achieving orderings that their intuition about physical
materials tells them should be plausible. With Local Layering I allow artists to stack
and weave graphical elements as if they were paper cut-outs; and with Soft Stacking
I go further and let them stack and mix elements as if they were volumes of fog.

Edits are local and do not constrain the global order of layers more than
necessary.
• When drawing in a conventional 2D program, artists are restricted to tools that
treat the drawing as a2D object, even though the artist is often thinking of a shape
with volume and 3D structure.
With 3D Texture Mapping for 2D Drawing I let artists specify the local structure of
3D surfaces using gizmos that describe local surface shape. These gizmos allow the
artist to specify only as much surface detail as needed to transfer surface detail
between frames, instead of building a full 3D model.
While the remainder of this document is concerned with changing the basic artist
tools in the scenarios listed above, these are but a few instances of a wider
opportunity in graphics – hardware and algorithms have advanced to the point
where we can try new, alternative primitives to enable creativity, communication,
and understanding.
In the remainder of this chapter, I will provide more detail about each of my
selected problems, describing the origin of the tools I will be replacing, my
motivation for doing so, and the consequences of the replacement. In each case the
replacement will entail additional algorithmic effort, but will be rewarded by new
creative capability.
The overviews in this chapter are written to be informative but not overly sticky
with the molasses of detail – for that, the reader may refer to subsequent chapters,
which are liberally sweetened with the stuff.
EXISTING AND PROPOSED SYSTEM

Existing System:

The website that Google ranks on the 1st page of its search results for any
given search term are the ones that they consider to be the most relevant and useful.
They determine which websites are the most useful and relevant by using a complex
algorithm (mathematical process) which takes into account 200+ different factors.
Google does not let people know what those factors are, however, through a
combination of research, testing and experience, a good Google SEO consultant
knows what the most important factors are. For example, most SEOs would agree
that the following are all important ranking factors…

• Keyword usage
• Site structure
• Site speed
• Time spent on site
• Number of inbound links
• Quality of inbound links

The algorithm is designed and set-up by humans, however, the ranking given
to websites is wholly determined by the outcome of the algorithm. There is no
manual intervention by humans to adjust the ranking specific websites are
given by the algorithm.
Proposed System:

The purpose of editing photographs can vary depending on the context and the
intended use of the photograph. Some common reasons for editing photographs
include:
Improving the aesthetics of the photograph, such as adjusting the lighting, color,
and composition Removing blemishes or unwanted elements from the photograph
Enhancing the overall quality of the photograph, such as sharpening or reducing
noise Changing the photograph to better convey a certain message or mood
Preparing the photograph for a specific use, such as printing or publishing online
Overall, the goal of editing a photograph is to make it look as good as possible and
to convey the intended message or feeling.
Editing helps you get the best image possible, as close to what you imagined when
you took the photo (or better perhaps).
Niche photographers can hone and emphasize their personal style. And for
businesses, editing helps cement branding.
SYSTEM REQUIREMENT

HARDWARE REQUIREMENT:

1) Hard disk:
A hard disk drive(HDD), hard disk, hard drive or fixed disk is a data storage
device used for storing and retrieving digital information using one or more
rigid (“hard”) rapidly rotating disks (platters) coated with magnetic material.
The platters are paired with magnetic heads arranged on a moving actuator
arm, which read and write data to the platter surfaces. Data is accessed in a
random-access manner, meaning that individual blocks of data can be stored
or retrieved in any order and not only sequentially. HDDs are a type of non-
volatile memory, retaining stored data even when powered off.

2) RAM:
Ram stands for random access memory. It is also called as primary which is
capacity of 128MB and it stores data temporarily.

3) Input device:
i. Keyboard:
It is a device which includes various keys and we can input data with the
help of various keys.

ii. Mouse:
Mouse provides us a pointer called as cursor which is used for selection
purpose.
SOFTWARE REQUIREMENT:

➢ Operating system: Windows 10


It is operating system provided by Microsoft for use of personal
computer, including home business, developers, laptops, and media center.

➢ VISUAL STUDIO CODE


SITE DESIGN

USE CASE DIAGRAM:

Select Image

Gray Scale

Edge Detection

Blur

Save Image

User
USE CASE DIAGRAM:

Editing
Image

Save Image

User
Future Scope

Photo editing begins with the photographer’s decision to either capture an image, change
position and capture, or not capture an image. The decision may be to promote a particular
view. This view might be aesthetic or political or any other measure. For example, a person
covering a street protest might move in closer to make a small protest appear much larger
(e.g., if you see ten people across the street it seems a small protest vs. if you are surrounded
by ten people and cannot see past them it seems the protest has immeasurable scale). [One
proported example Toppled: How the Press Spun the 'Saddam Statue' Moment]

Images once captured may be edited in-camera by the photographer deleting images that ate
unwanted. I often do this at sporting events where focus might be missed due to play action
circumstances. It can fill a short down time and save time later.

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
retained. Mild post-processing edits are usually applied, e.g., lighting corrections and removal
of lens distortions, are applied to that the content is better viewed. Photos are tagged so that
they can be found at a later time.

After this editing can take many directions. For example:

I want a single photo to hang on the wall. You would need to edit all of your photos down to
the single photo that fits where you want it displayed and is the best photo. So you eliminate
perhaps hundreds of photos to get to the one.
I want to make a photo book. Photo books tell a story. This means the photos must be
organized and selected to tell that story. When you begin to place images side-by-side you will
often find that an image might not look right and may need to be cropped or have its lighting
adjusted or be placed on the opposite side of the layout to work properly within the confines
of the book. Such decisions can involve weeks or months of editing to create the book you
envision.
I want to make a photo composition. You are going to combine several photos into a single
image for a particular purpose, e.g., a movie poster or to show motion in a still image. Like the
book you are telling a single image story/message so you need to edit to select the right
images. You may go through many images to select the right ones and when combined you
need to ensure the message you want is conveyed. Combining the images requires stringent
editing to ensure the images when combined look like they belong together. There’s one
example below…

When editing I really don't place limits on what might be done in artistic photos. The moon
photo above is far more than 3 images with additional images being used to remove image
noise and sharpen the final photo. If you are capturing photos for news purposes there are
codes of ethics that should be followed (e.g., Code of Ethics) but often are not causing more
op/ed pieces to be presented as objective news.

The short version of the scope of photo editing is that it starts with the decision process to
capture an image and ends with its final presentation.
Source Code

#<------Photo Editor Project using JAVA ---------------------- >


# >> Sanskar Gang

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

/**
*
*
*/
public class PhotoEditorApp extends JFrame {

private BufferedImage originalImage;


private BufferedImage editedImage;
private JLabel imageLabel;

public PhotoEditorApp(){

setTitle("Photo Editor App");


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800, 600);

setLocationRelativeTo(null);

createMenuBar();
imageLabel = new JLabel();
add(imageLabel, [Link]);

JButton grayScaleButton = new JButton("Gray Scale");


[Link]([Link]);
[Link]([Link]);
[Link](e -> applyGrayScaleFilter());

JButton invertButton = new JButton("Invert");


[Link]([Link]);
[Link]([Link]);
[Link](e -> applyInvertColorsFilter());

JButton sepiaButton = new JButton("Sepia");


[Link]([Link]);
[Link]([Link]);
[Link](e -> applySepiaFilter());

JButton blurButton = new JButton("Blur");


[Link]([Link]);
[Link]([Link]);
[Link](e -> applyBlurFilter());

JButton edgeDetectionButton = new JButton("Edge Detection");


[Link]([Link]);
[Link]([Link]);
[Link](e -> applyEdgeDetectionFilter());

JButton resetButton = new JButton("Reset");


[Link]([Link]);
[Link]([Link]);
[Link](e -> resetImage());

JPanel buttonPanel = new JPanel();


[Link](grayScaleButton);
[Link](invertButton);
[Link](sepiaButton);
[Link](blurButton);
[Link](edgeDetectionButton);
[Link](resetButton);

add(buttonPanel, [Link]);

setVisible(true);
}

private void createMenuBar(){


// Create a menu bar for the application
JMenuBar menuBar = new JMenuBar();
// Create a "File" menu
JMenu fileMenu = new JMenu("File");

// Create "Open" menu item and set an action listener to handle its click event
JMenuItem openItem = new JMenuItem("open");
[Link](e -> openImage());

// Create "Save" menu item and set an action listener to handle its click event
JMenuItem saveItem = new JMenuItem("save");
[Link](e -> saveImage());

// Add "Open" and "Save" menu items to the "File" menu


[Link](openItem);
[Link](saveItem);

// Add the "File" menu to the menu bar


[Link](fileMenu);

// Set the menu bar for the application window


setJMenuBar(menuBar);
}

// Create a Method to update the image label with the edited image
private void updateImageLabel(){

// Create an ImageIcon from the editedImage


ImageIcon imageIcon = new ImageIcon(editedImage);
// Set the image icon on the imageLabel to display the edited image
[Link](imageIcon);
// Revalidate the imageLabel to ensure the updated image is displayed correctly
[Link]();

// Create a Method to reset the edited image back to the original image
private void resetImage(){

// Check if there is an original image available


if(originalImage != null){
// Create a deep copy of the original image and set it as the edited image
editedImage = copyImage(originalImage);
// Update the image label with the new edited image
updateImageLabel();

// create a method that creates a deep copy of a BufferedImage.


private BufferedImage copyImage(BufferedImage image){
// Get the ColorModel of the input image.
ColorModel cm = [Link]();
// Check if the alpha channel of the image is premultiplied.
boolean isAlphaPrm = [Link]();
// Create a new WritableRaster that contains a copy of the image's data.
WritableRaster raster = [Link](null);
// Create and return a new BufferedImage using the ColorModel, WritableRaster,
// and the information about the alpha channel pre-multiplication.
return new BufferedImage(cm, raster, isAlphaPrm, null);

// create a method to select and display an image


private void openImage(){
// Create a file chooser dialog for selecting an image file
JFileChooser fileChooser = new JFileChooser();
[Link](new FileNameExtensionFilter("images", "jpg", "png"));

// Display the file chooser dialog and wait for the user to select a file
int result = [Link](this);
if(result == JFileChooser.APPROVE_OPTION)
{
// Get the selected file
File selectedFile = [Link]();

try
{
// Check if the selected file is a valid image file
BufferedImage testImage = [Link](selectedFile);
if(testImage == null)
{
// Show an error message if the selected file is not a valid image
[Link](this, "Invalid Image File Selected", "Error",
JOptionPane.ERROR_MESSAGE);
return;
}

// Store the original image and create a copy for editing


originalImage = testImage;
editedImage = copyImage(originalImage);

// Update the image label to display the loaded image


updateImageLabel();
}
catch(Exception ex)
{
// Print any exceptions that occur during image loading
[Link]();
// Show an error message if there's an issue loading the image
[Link](this, "Error Loading The Image", "Error",
JOptionPane.ERROR_MESSAGE);
}
}
}

// create a Method to save the edited image


private void saveImage()
{

// Create a file chooser dialog for selecting an image file


JFileChooser fileChooser = new JFileChooser();
[Link](new FileNameExtensionFilter("images", "jpg", "png"));

// Show the save dialog to allow the user to choose a location to save the image
int result = [Link](this);
// If the user selects a location and clicks the "Save" button
if(result == JFileChooser.APPROVE_OPTION)
{
// Get the selected file and attempt to save the edited image to it
File selectedFile = [Link]();

try
{

[Link](editedImage, "jpg", selectedFile);


}
catch(Exception ex)
{
// Print any exceptions that occur during image loading
[Link]();
// Show an error message if there's an issue loading the image
[Link](this, "Error Saving The Image", "Error",
JOptionPane.ERROR_MESSAGE);
}
}

// create a method that applies a grayscale filter to the edited image using the luminosity method
private void applyGrayScaleFilter()
{
// Check if the original image exists
if(originalImage != null)
{
// Loop through all the pixels in the edited image
for(int x = 0; x < [Link](); x++)
{
for(int y = 0; y < [Link](); y++)
{
// Get the RGB value of the corresponding pixel in the original image
int rgb = [Link](x, y);
// Calculate the grayscale value using the luminosity method
int gray = (int) (0.3 * ((rgb >> 16) & 0xFF) + 0.59 * ((rgb >> 8) & 0xFF) + 0.11 *
(rgb & 0xFF) );

// Set the grayscale pixel in the edited image


[Link](x, y, (gray << 16) | (gray << 8) | gray);
}
}

// Update the image label with the edited image


updateImageLabel();
}
}

// create a method that applies a sepia filter to the edited image


private void applySepiaFilter()
{
// Check if the original image exists
if(originalImage != null)
{
// Loop through all the pixels in the edited image
for(int x = 0; x < [Link](); x++)
{
for(int y = 0; y < [Link](); y++)
{
// Get the RGB value of the corresponding pixel in the original image
int rgb = [Link](x, y);

// Extract the red, green, and blue components from the RGB value
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = rgb & 0xFF;

// Calculate the sepia values for red, green, and blue components
int tr = (int) (0.393 * r + 0.769 * g + 0.189 * b);
int tg = (int) (0.349 * r + 0.686 * g + 0.168 * b);
int tb = (int) (0.272 * r + 0.534 * g + 0.131 * b);

// Ensure the sepia values are within the valid range of 0 to 255
tr = [Link](255,tr);
tg = [Link](255,tg);
tb = [Link](255,tb);

// Set the sepia pixel in the edited image


[Link](x, y, (tr << 16) | (tg << 8) | tb);
}
}
// Update the image label with the edited image
updateImageLabel();
}
}

// create a that method applies a simple blur filter to the edited image using a 3x3 kernel.
private void applyBlurFilter()
{

// Check if the original image exists


if(originalImage != null)
{
// Define a 3x3 kernel for blurring
int[][] kernel = {{1,1,1},{1,1,1},{1,1,1}};
int kernelSum = 9; // Sum of kernel values (used for normalization)

// Loop through all the pixels in the edited image (excluding the borders)
for(int x = 1; x < [Link]() - 1; x++)
{
for(int y = 1; y < [Link]() - 1; y++)
{
// Initialize RGB values to 0 for each pixel
int r = 0, g = 0, b = 0;

// Convolve the kernel over the neighboring pixels


for(int i = -1; i <= 1; i++)
{
for(int j = -1; j <= 1; j++)
{
// Get RGB value of neighboring pixel
int rgb = [Link](x+i, y+i);
// Multiply each color component by the corresponding kernel value and accumulate
r += ((rgb >> 16) & 0xFF) * kernel[i+1][j+1];
g += ((rgb >> 8) & 0xFF) * kernel[i+1][j+1];;
b += (rgb & 0xFF) * kernel[i+1][j+1];;
}
}

// Normalize the accumulated values based on the kernel sum


r /= kernelSum;
g /= kernelSum;
b /= kernelSum;

// Compose the new RGB value using the blurred color components
int newRgb = (r << 16) | (g << 8) | b;
// Update the edited image with the new RGB value
[Link](x, y, newRgb);
}
}

// Update the label displaying the edited image to reflect the changes
updateImageLabel();

// create a method that applies the invert colors filter to the editedImage.
private void applyInvertColorsFilter()
{
// Check if the original image exists
if(originalImage != null)
{
// Loop through all the pixels in the edited image
for(int x = 0; x < [Link](); x++)
{
for(int y = 0; y < [Link](); y++)
{
// Get the RGB color value at the current pixel in the originalImage.
int rgb = [Link](x, y);
// Extract the red component, invert it, and store it in r.
int r = 255 - ((rgb >> 16) & 0xFF);
// Extract the green component, invert it, and store it in g.
int g = 255 - ((rgb >> 8) & 0xFF);
// Extract the blue component, invert it, and store it in b.
int b = 255 - (rgb & 0xFF);
// Combine the inverted RGB components and set the pixel value in the
editedImage.
[Link](x, y, (r << 16) | (g << 8) | b);
}
}

// Update the image label to reflect the changes made to the editedImage.
updateImageLabel();
}
}

// create a method that applies the edge detection filter


private void applyEdgeDetectionFilter()
{

// Check if the original image exists


if(originalImage != null)
{
// Define the Sobel operators for x and y directions
int[][] sobelx = {{-1,0,1},{-2,0,2},{-1,0,1}};
int[][] sobely = {{1,2,1},{0,0,0},{-1,-2,-1}};

// Create a new BufferedImage to store the grayscale version of the originalImage


BufferedImage grayImage = new BufferedImage([Link](),
[Link](), BufferedImage.TYPE_BYTE_GRAY);
Graphics g = [Link]();
[Link](originalImage, 0, 0, null);
[Link]();

// Loop through each pixel of the editedImage (excluding the borders)


for(int x = 1; x < [Link]() - 1; x++)
{
for(int y = 1; y < [Link]() - 1; y++)
{
// Initialize gx and gy to store the gradient in the x and y directions,
respectively
int gx = 0, gy = 0;

// Apply the Sobel operator to the surrounding pixels of the grayscale image
for(int i = -1; i <= 1; i++)
{
for(int j = -1; j <= 1; j++)
{
// Get the grayscale value of the pixel
int gray = [Link](x + i, y + j) & 0xFF;

// Apply the Sobel operator and accumulate the results in gx and gy


gx += gray * sobelx[i+1][j + 1];
gy += gray * sobely[i+1][j + 1];
}
}

// Calculate the magnitude of the gradient using the Euclidean distance formula
int magnitude = (int) [Link](gx * gx + gy * gy);
// Create a new RGB value with the same magnitude for each color component
int newRgb = (magnitude << 16) | (magnitude << 8) | magnitude;

// Set the newRGB value for the corresponding pixel in the editedImage
[Link](x, y, newRgb);

}
}

// Update the label displaying the editedImage


updateImageLabel();
}
}

/**
* the command line arguments
*/
public static void main(String[] args) {
// use the flatlaf lib to make the app look flat

new PhotoEditorApp();

}
USER INTERFACE
IMAGE SELECTED
GRAY SCALE
INVERT
SEPIA
BLUR
EDGE DETECTION
RESET
SAVE UI
SAVED IMAGE
Advantages

The benefit of photo editing is that it allows you to improve and enhance the visual
appearance of your photographs.

This can include adjusting the brightness, contrast, and color balance, removing
unwanted elements or blemishes, adding creative effects or filters, and much more.

Photo editing software can also help you to create more professional-looking
images, which can be useful for a variety of purposes, such as sharing on social
media, printing, or using in marketing materials.

Additionally, photo editing can also be used to correct technical issues with a
photograph, such as lens distortion or camera shake.

Re-edit Images for Better Efficiency. Reusing old images for multiple purposes is
one of the benefits made easy by photo editing.

There're various tools for image editing that help you create multiple versions of a
single image by altering the background (adding or removing), or combining it with
other images.

The process of creating an image does not end after pressing the shutter button. You
will always be pressed by the need to tweak the photos a little bit, to make them
look like what you want or whatever it needs to be.
You will also need to do this to make your photo in line with your goal on why you
took it in the first place.

There are a few advantages to using image editing services, the most significant of
which is the ability to quickly and easily fix common photo errors. By using these
services, you can save time and hassle by having your photos edited and ready to
use in no time at all.

Another advantage of using image editing services is the ability to add special
effects and enhancements to your photos.

This can make them look more professional and attractively different from those of
your competitors. Plus, if you have any special photo requests or needs, a
professional image editor can likely help you out!

Finally, image editing services can also be used to improve the overall quality of
your photos overall. By correcting any blemishes or low-quality details, you can
give your photos a more polished appearance that will make them look their best.

If you're looking for a quick and easy way to improve the quality of your photos,
then image editing services are a great option!

Many people need to edit a photo, modify it, resize it, upscale it, and so on. You
have two options to do that. You can edit it by yourself, or you can hire a photo
editing service.

So, the question should be, why is it important to edit photos?

Photo editing is an essential process. After all, photos without primary processing
are not very suitable for viewing and using.
It should be understood that working on the photos after the shooting takes much
longer than the actual shooting itself. This is a time-consuming and complex
process that remains out of the customer's field of view.

Artistic photo processing requires good skills with graphic editors, but the scope for
creativity is almost limitless.

I've never hired a photo editing service as I am not so passionate about beautiful
pictures.

In addition, there is an app I use when I need to increase image resolution, upscale
image without losing quality, enhance photo and image contrast with Normal and
HDR AI technology.

It also allows to sharpen images with advanced Deblur AI technology, denoise


photos, get rid of noises from an image, fix blurry face photos, and enhance the
quality of portrait photos.

Of course, I am talking about the Photo Enhancer.

In case you need to perform some simple photo editing tasks, check the link I
attached above.
Disadvantages

The impact of edited photos on self-esteem

These retouched images can erode the confidence of both the people creating them
and those viewing them. A negative view on body image and body dysmorphia are
common results of photo editing.

It requires a lot of space on your laptop or computer.


Photoshop can be costly as its utilities are pricey.
It distorts the perception of people on beauty.
There are limitations to editing an old photo.
It is time consuming.

As discussed above, photo editing has its difficulties. It is advisable to hire a


professional with all the relevant experience in the field as not all editing tools are
for you. Instead of ending up with a disastrous picture in your hands, get the work
done professionally at Graphics Expert Ltd. It is our top priority to we mould the
end results exactly as you want them at a pocket friendly price.

Your entire „digital darkroom‟ is software.

No there isn‟t big disadvantages over analogue other than perhaps-

1. Cheapens the medium a little in an artistic sense since it‟s easier. Maybe.
Comparing the premium of printing film negatives, there is a special sense when
using old darkroom techniques to print and is limited in circulation hence „limited
edition‟. Each print is unique whereas digital is easily shared and practically
unlimited.

2. You can add much more processing digitally than possible before.

In essence the limitation is time. You end up thinking how much time should I
spend on this instead of thinking about what you want to achieve.

3. Client expectation is higher. “You can just fix it, here, in your laptop right?”

Because your digital darkroom fits into your notebook also means you can fix
things wherever you are with electricity and a comfortable table/chair. If you don‟t
know an editing topic, it‟s probably already on youtube. So there‟s literally no
excuses. Of course most clients don‟t know this. shhhhh!

The whole idea of using an image editor is to replace the tedious work we used to
do in the dark and retouching rooms of old.

If you wish to produce the best possible image you need to first off, try and make
sure that you set the camera correctly for the shot. This will give the best possible
raw image ready for post production. If this was done correctly there should not
need to be much else to do but, there is almost a few tweaks needed.

Adjusting colour, shadow or highlight details, removing a hair that fell into the
wrong place, a wind blown leaf, a stray dog/ child, the list can go on and on…

So if you are serious about your photography be sure to get a good camera with full
controls (Learn to use it) and a good editor for your computer. Pleas not that I did
not suggest using a „phone or the inbuilt rubbish app that comes with it. They are
not for serious work and in fact the editors in a „phone do have disadvantages as
they tend produce portraits that look like plastic Barbie dolls. in other words they
over do the retouching effect and lack good controls. Working on a small „phone
screen is also rather counter productive.

There are no disadvantages of properly using a photo editor.

I use Corel Photo Paint (Corel Draw bundle), Adobe Photoshop, and some times a
special job program for Green screen (Chroma Key) and another for panorama
stitching..

Other editors to consider are The Gimp, [Link], Affinity Photo, and many more.
download a trial and give them a try.

Some like The Gimp are free yet still very powerful. The trick is to spend time
learning hoe to use your tools properly. Even Leonardo da Vinci had to learn how
to make paint first.
Importance

For me, the picture is not finished until it is “finished” (processing was once
synonymous with photofinishing, literally finishing the photograph). I was trained in
“wet” darkroom work, heavily in black and white.

There were many steps from the exposure to the print, and always the print was the
goal, and always the very best print possible. “Taking a picture” was very much
a process.

Long before I got my first digital camera I was gifted a copy of Adobe
Photoshop Elements, the 2.0 iteration released in 2002. Elements is sometimes called
“Photoshop Lite” because it was intended to encompass many of the most commonly
used elements (pun fully intended) of full Photoshop. As an old wet darkroom guy I
was utterly entranced.

I was still shooting film, and honestly very little of it, but it was the time when the
corner drugstore one-hour finishing folks were offering a CD of the digitized negatives
or slides. I started paying the premium to get the discs so I could play with the pictures
on a computer.

I often use this pair of before-and-after pictures to illustrate why I was instantly
bazoogas (special made for post-processing, digital editing, whatever ya wanna call it,
pretty much straight from the get-go. The shot below, from a digitized CD, was made
in 2006 with a Canon T90.

It was the last shot on a roll of slides, Fuji I think, but I was out of reloads so I had to
make it count. But as the train left the tunnel at 40 mph there were two guys also
shooting that got in my frame, plus I'd pulled the camera down to the right… Yeah,
lotsa stuff not up to snuff.
A great photo can make a difference in the way that your viewers perceive you. On the
other hand, a bad image can do a lot of harm.

A poorly lit or unflattering photo will only serve to weaken your brand's message and
create a negative association with your company.

That's why it's vital to edit photos for your business - it is time to reach its full potential!
In this post, we'll go over importance of photo editing for your brands and give you
some best practices for taking professional-quality pictures from the start!

Editing helps you get the best image possible, as close to what you imagined when you
took the photo (or better perhaps). Niche photographers can hone and emphasize
their personal style. And for businesses, editing helps cement branding.

A good picture plays an important role for your company's brand. When people see
you on social media, they will form an opinion about you based on how you present
yourself.

For making sure that your brand is as professional as possible by making sure that your
photos are as well! By editing your photos, you can help polish up your company's
image and improve how potential customers perceive it.

There are various ways to edit your photos. You can sign up for editing services, buy
editing software, or you can do it yourself with a free program like GIMP. There are
many different things that you can do to edit your photos, but let's go over some of
the basics.
You'll want to make sure that the picture is well-lit and taken from a high angle to
avoid awkward shadows on the subject. Next, you should clean up any blemishes on
the subject's face before cropping it. And finally, you should edit the photo's color
balance by adjusting the temperature and tint until it looks just right.
Conclusion

The transformation of photography from an analog medium relying on chemically


developed light-sensitive emulsions to one using digital technologies for image
capture and storage began in the late 1980s with the introduction of the first consumer
digital cameras and in 1990 the first version of Adobe Photoshop, a program for
adjusting and manipulating digital image files.

Conceived as an extension of the conventional darkroom, the program adopted many


of the traditional tools of black-and-white film photography but let photographers go
even further. By giving photographers the ability to easily change the structure of an
image, and even its contents, it called into question long-held assumptions about
photographic veracity or documentary “truth value.” To some minds, it changed the
very nature of the medium.

Digital photography's full impact was not felt until the first decade of the new century.
Because digital images could be transmitted and edited much more quickly, by
decade's end nearly all newspapers and magazines had transitioned to a digital
workflow process, and their photographers were using digital cameras designed for
professionals. As a result of the Internet, which digital photography was no small part
of, print media in general began its decline.

Whereas photojournalists and documentarians reacted with caution to what came to


be called digital imaging, other types of photographers were generally enthusiastic
about its possibilities. Many artists using photography as their medium developed
creative approaches that took advantage of the seamless mutability of digitally altered
images, extending a long history of photographic collage, double printing, and other
pre-digital forms of manipulation.

Among the early adopters were Aziz + Cucher (Anthony Aziz and Sammy Cucher),
Andreas Gursky, and Loretta Lux, all of whom stretched the limits of what is believable
about a photographic image. Digital alteration also influenced the spheres of fashion
and celebrity, as photographers such as Inez van Lamsweerde and Vinoodh Matadin
(working together as Inez & Vinoodh) remade the looks of models and movie stars.
Magazines began to regularly send their cover photographs to digital retouchers to
eliminate blemishes and minimize their models' waistlines.

At the same time, commercial, governmental, and military uses of photography have
expanded to include 24-hour surveillance of public sites and businesses, the remote
targeting of drone missile strikes, databases of digital fingerprints, portraits on
identification cards, and the development of face-recognition software to aid in the
identification of criminals and terrorists. Debates about the impact of the camera on
civil liberties have intensified as a result.

Photographers have reacted to digital photography's omnipresence in a variety of


ways. Some—such as Chuck Close, Sally Mann, Deborah Luster, and Jerry Spagnoli have
journeyed back to photographic processes of the 19th century, making daguerreotypes
or working with wet-collodion plates, or—like Chris McCaw and Alison Rossiter—have
taken to printing on outdated enlarging paper from the mid-20th century.

Photographic books, predicted to be made obsolete by readily viewable online images,


have experienced a resurgent popularity, not only because digital printing has reduced
the cost of publication but also because books allow photographers to control the
narrative sequence and context in which their images are seen.

Others have seized an opportunity to critically reflect on the new image environment in
which they live. Trevor Paglen, for example, has photographed the light trails of spy
satellites as they cross the night sky.

In addition, the convergence of still digital photographs and moving video images and
the popularity of web design tools that allow for animation, motion control, and audio
editing have produced a creative arena in which photography is but one tool in the
production of multimedia experiences.
In the 21st century, photography has been absorbed into both the contemporary art
world and that of online digital communication, blurring its formerly distinct identity
but vastly enhancing its importance as a visual medium.
REFERENCES

Reference Website:

JAVA :- ✓ [Link]

You might also like