pic2ascii | A command line ASCII image interpreter .. | Computer Vision library
kandi X-RAY | pic2ascii Summary
kandi X-RAY | pic2ascii Summary
Java tool to display an ASCII representation of an image.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Get a Bitmap from a normal Bitmap
- Sets all characters
- Saves an image to a file
- Scales the image by the given scale
- Loads an image from a file
- Exit the program
- Get a Bitmap from a normal file
- Sets all characters
- Saves an image to a file
- Scales the image by the given scale
- Loads an image from a file
- Exit the program
- Get a bitmap from a filename
- Sets all characters
- Saves an image to a file
- Scales the image by the given scale
- Loads an image from a file
- Exit the program
- Main method
- Run a benchmark
- Saves the image to a file
- Starts the program
- This method selects a scale value
- Main entry point
- Run a benchmark
- Saves the image to a file
- Starts the program
- This method selects a scale value
- Gives a background color based on the foreground color
- Generates a new background color based on the foreground color
- This method is called when an activity result is received
- Initializes the instance
pic2ascii Key Features
pic2ascii Examples and Code Snippets
Community Discussions
Trending Discussions on pic2ascii
QUESTION
ANSWER
Answered 2020-Jul-31 at 16:12Interseting problem its basically vector form of Image to ASCII art conversion... I managed to do this with this algorithm:
preprocess image
You gave us JPG which has lossy compresion meaning your image contain much more than just 2 colors. So there are shades and artifacts which will screw things up. So first we must get rid of those by thresholding and recoloring. So we can have 2D BW image (no grayscales)
vectorize
Your maze is axis aligned so it contains only horizontal and vertical (
h
,v
) lines. So simply scan each line of image find first starting wall pixel then its ending pixel and store somewhere... repeat until whole line is processed and do this for all lines. Again do the same for rows of image. As your image has thick walls ignore lines sorter than thickness threshold and remove adjacent (duplicates) line that are (almost) the same.get list of possible grid coordinates from h,v lines
simply make a list of all x and y (separately) coordinates from lines start and end points. Then sort them and remove too close coordinates (duplicates).
Now the min and max values gives you AABB of your maze and GCD of all the
coordinate-lowest coordinate
will give you grid size.align h,v lines to grid
simply round all start/end points to nearest grid position ...
create text buffer for maze
AABB along with grid size will give you resolution of your maz in cells so simply create 2D text buffer where each cell has
NxN
characters. I am using6x3
cells which looks nice enough (square and with enough space inside).renmder h,v lines into text
simply loop through all lines and render
-
or|
instead of pixels... I am using also+
if the target position does not contain ' '.convert 2D text array into wanted text output
simply copy the lines into single text ... or if you clever enough you can have 1D and 2D at the same memory place with
eol
encoded between lines.
Here simple example in C++/VCL I made from the exampe in the link above:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pic2ascii
You can use pic2ascii like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the pic2ascii component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page