Nothing stinks up the house like a sink full of dirty dish. Well, a full trash can will do it to a greater extent, but that’s a project for another day. In what must be an overreaction to a perpetually full sink of dishes at his London Hackerspace, [Tom] built a web-connected dirty dish detector.
He calls it the Great OpenCV Wash-Up Detector. The system features a series of different signals to ‘remind’ forgetful geeks about cleaning up after themselves. The initial implementation uses a traffic signal to alert the room that there are dirty dished to be cleaned; illuminating the different colors to show how long the sink has been full. [Tom] also plans to add message bursts to the IRC room, and air horns when the situation gets dire.
As the name implies, this uses OpenCV to detect circles in the sink. A webcam has been mounted above it pointing straight down, providing a clear input image to detect plates, mugs, and the like. [Tom] even wrote some code that disables the system when the lights are turned off.
Of course, this may train offenders to leave the dishes on the counter where the detector can’t see them.
While it seems that many people are wise to shoulder surfing, keeping a lookout for anyone spying on their passwords, [Haroon] wrote in to remind us that the threat is just as real today as it ever was.
The subjects of his research are touch screen phones and tablets, which utilize on-screen keyboards for data entry. He says that while nearly all password entry boxes on these devices are obscured with the traditional line of asterisks, the keyboards themselves are quite an interesting vulnerability.
Since touch screen technology can be finicky at times, most vendors ship their devices with some sort of key press verification system. On the iPhone and iPad, for instance, each key is highlighted in blue following a button press. This functionality makes it quite easy for shoulder surfers to casually steal your password if you’re not paying attention.
But what if you are well aware of your surroundings? [Haroon] has developed a piece of software he calls shoulderPad, which is based on openCV that does the surfing for him. The application can monitor a video stream, live or recorded, extracting the user’s password from the highlighted button presses. His demonstrations show the recording taking place at a relatively close distance, but he says that it would be quite easy to use surveillance footage or zoom lenses to capture key presses from afar.
He does say that the button highlighting can be easily disabled in the iPhone’s options pane, which should negate this sort of attack for the most part.
Continue reading to see a quick video of shoulderPad in action.
[Johnny Chung Lee] put together a system that is perfect at playing Guitar Hero. He’s using the PlayStation 2 version and, as you can see above he’s combined a controller connector and a Teensy microcontroller board to communicate with the console using its native SPI protocol. This custom guitar controller receives its signals via USB from a computer that is monitoring the video from the console and calculating the controller signals necessary for perfect gameplay. [Johnny] wrote an OpenCV program that monitors the video, removes the perspective from the virtual fretboard, and analyzes color and speed of the notes coming down the screen.
As you can see after the break it works like a charm. It’s fun from a programming standpoint, but if you want a hack you can actually play maybe you should build your own Banjo Hero.
Embedded above is an interesting multitouch demo by [Lahiru]. The goal of the project was to find an easy way to retrofit current LCDs for multitouch. Instead of using infrared or capacitive recognition, it uses a standard webcam mounted overhead. To calibrate, you draw polygon around the desktop screen as the webcam sees it. The camera can identify the location of markers placed on the screen and their color. iDisplay can also recognize hands making the pinch motion and sends these as touch events via TUIO, so it works with existing touch software. It’s written in C++ using OpenCV for image processing with openFrameworks as the application framework.
[Chris Harrison] and [Scott E. Hudson] have built a novel system for faking a 3D video chat session. Their implementation separates the image of the chat participant from the background. They then dynamically reposition the video based on the movement of the viewers head. Their using the OpenCV library to do facial recognition (just like the Laughing Man demo). The 3D effect is very similar to what you see in [Johnny Lee]‘s Wiimote headtracking. A video of the pseudo 3D chat is embedded below.
The Laughing Man is the antagonist from the anime series Ghost in the Shell: Stand Alone Complex. During each of his public appearances in the series he manages to hack all video feeds/cyborg eyes in the vicinity to obscure his face with the logo above.
[Ben Kurtz] had been watching the series recently and realized he could put together a similar effect using Processing. The interesting bit, and what makes this more fun than a simple demo, is that he’s using the OpenCV library. OpenCV is a open source computer vision library. [Ben] uses it to handle the facial recognition in Processing and then apply the image.
It’s only 100 lines and we wonder what other fun tricks could be employed. Here’s a Hack a Day skull you can swap in for the logo.