Coder Social home page Coder Social logo

felsocim / jed Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 1.0 931 KB

Image edge detection and simple vectorization program using convolution filters

License: GNU General Public License v2.0

Java 100.00%
image-filtering image-processing convolution-filter sobel-filter prewitt-filter roberts-filter vectorizing-images svg university-project

jed's Introduction

JED: Java Edge Detector

Image edge detection and simple vectorization program using convolution filters

About

As assignment for our Object-oriented programming classes at the University of Strasbourg, we created a image contour detection program which uses convolution filters such as Sobel, Roberts or Prewitt. The program was extended to perform a naive vectorization of the input image. It can be then written down to a Scalable Vector Graphics (SVG) file.

Vectorization algorithm

The vectorization strategy used is very straightforward. Starting with a thresholded black and white image we iterate over and try to detect segments by inspecting neighbor pixels in three directions (right, diagonal right, down and diagonal left). Finally, the resulting set of detected segments allows to redraw the original image in a vectorized form.

Usage

As the program is written in Java, it can be used on any machine running a Java virtual machine.

Plus, the user interface is pretty straightforward to understand: import a source image, select the filter to apply, set desired threshold value, select output SVG file and perform vectorization.

Compiling

At first, ensure there is Java Development Kit (JDK) installed on your computer providing the javac and java executables.

Then, from a Unix terminal or a Windows Command Prompt instance, navigate to the src folder, compile the main program using javac Main.java and run with java Main.

Screenshot

JED Screenshot

Author

Marek Felsoci, student at the University of Strasbourg.

License

Java Edge Detector and its source code are licensed under the terms of the GNU General Public License, version 2. See the LICENSE file for full license text.

Image credits

The "Lena" image was acquired from i.stack.imgur.com/o1z7p.jpg.

jed's People

Contributors

felsocim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vb6hobbyst7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.