We realized that it was very tedious to manually create texture maps for an image--instead we tried to find a way to automate the process. Using image processing methods, such as use of image segmentation and color gradients, we developed a way to process images into bitmaps, which in turn can easily be converted into a haptic texture map.

What it does

We have two different scripts, one which segments the image and one which processes the images into a bitmap. The image segmentation script works well for edge detection, while the java ImageProcessor does well with generating finer details.

How we built it

We based the code off of code written by Prof. Josh Hug for the 61B (Data Structures) class. The original homework task was to develop a seam carving program, which included finding vertical/horizontal "paths" of lowest energy. We used this metric for generating energy, and modified it to fit our needs.

Challenges we ran into

We originally attempted to use machine learning techniques to generate the bitmaps for each image, but there was too much noise in the data set to produce a sharp texture map.

What's next for Tanvas Image Processor

Rather than using data from pixels which are immediate neighbors, we could determine cases which use a greater range of pixels. We could also look into combining the segmented image with the image made from java processing, essentially combining the two scripts into one. Given more time, we could assign textures to regions created by image segmentation, possibly using machine learning algorithm.

Built With

Share this project: