Introduction and Project Summary

We plan to create a secret messaging system that employs a visually pleasing way to deliver encoded text based messages. Our system will take an initial message, and print out an encoded image. When the recipient scans the image, they will get back the original message.

The first part of our system will involve developing and printing out the encoded message. The message will use colors, shapes, and patterns to encode information about which letters are being sent in what order. When the encoded message is scanned with our app, the app will find the different shapes and colors and decode them back into the original message.

This is a cool project because there already exist codes like QR codes and barcodes that encode data in the real world, but they’re ugly and they obviously look like they are encoding something. Our goal is to create something innocuous-looking, that you wouldn’t immediately know contains a hidden message.

 

Week 1 Progress Report (9/17)

Week 1 Update

Summary

This week, we all worked together getting our ideas together and planning out our project moving forward. We had several sessions sitting down with our project proposal, thinking through what we had to do, and creating our initial presentation detailing our idea. We also presented our work, which gave us the opportunity to share our idea with the rest of the class and get valuable feedback.

Shivani

This week, I worked on getting OpenCV installed and working on my laptop. I started playing around with the software and researching what other users have been able to complete in the past to determine the feasibility of our project.  After that, I found some source code for color detection and modified that for our project. Currently, we are able to detect and distinguish a few shades of blue, red and green using OpenCV and Python. I will be modifying this next week and making it sensitive to a larger color range and different shades of the colors. Additionally, if I have time I can try refining it for different types of lighting conditions.

Snigdha

This week, I got started on looking at simple encoding algorithms and ways to optimize our method. Specifically, I looked at the key factors that we would manipulate to distinguish characters and how that would look like in an image. I used Python’s Tkinter to generate a few of these patterns for testing purposes and will be continuing to refine the encoding and pattern generation with Shivani and Caroline over the next few weeks.

Caroline

This week, I mostly worked with Shivani and Snigdha to solidify our ideas. I also looked into possibilities for what our encoding algorithm could look like, including exploring Processing as a tool for generating patterns. I created some sample images using Sketch design software that explore what our pattern could look like, and began experimenting to see how we could generate the patterns computationally. We also ordered some hardware to begin experimenting with.

Next week, I plan to get started on setting up the Raspberry Pi, as well as continuing to explore generating the visual patterns.

 

Overall Thoughts

Our biggest priority in the coming week should be to continue working with OpenCV to recognize shapes and patterns. We hope to have some rudimentary shape, color, and pattern recognition working as soon as possible, so that we can begin to increase the complexity of our pattern. While this is happening, we will work to generate rules that correspond with text encoding.

 


from prompt:

Each team member should be answering the following questions:

  • What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).
  • Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
  • What deliverables do you hope to complete in the next week?

Answered by the whole group:

  • What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?
  • Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
  • Provide an updated schedule if changes have occurred.