Class CybercodeDecoder

  extended by edu.berkeley.guir.papier_mache.barcode.CybercodeDecoder
All Implemented Interfaces:
BarcodeDecoder, CurrentPhobsListener, java.util.EventListener

public class CybercodeDecoder
extends java.lang.Object
implements BarcodeDecoder, CurrentPhobsListener

Ray Su ( raysu(AT) ), Scott Klemmer ( srk(AT) ) This BarcodeDecoder can detect and decode multiple Cybercode barcodes in a image found by a Vision Phob Producer. It is robust enough to decode Cybercodes in all orientations except for 1. up-side down orientations 2. orientations where the barcode is captured with perspective skew. "The CyberCode is a visual tagging system based on a 2Dbarcode technology developed by Sony and provides several features not provided by other tagging systems. CyberCode tags can be recognized by the low-cost CMOS or CCD cameras found in more and more mobile devices, and it can also be used to determine the 3D position of the tagged object as well as its ID number." For a detailed specification and discussion of its usage, see Download samples of real Cybercode Barcodes from

Constructor Summary
CybercodeDecoder(VisionPhobProducer visionProducer, BarcodePhobProducer barcodeProducer)
Method Summary
static cropAndRotate(VisionPhob phob)
 void phobSetUpdated(CurrentPhobsEvent e)
          Implement a CurrentPhobsListener method.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public CybercodeDecoder(VisionPhobProducer visionProducer,
                        BarcodePhobProducer barcodeProducer)
Method Detail


public void phobSetUpdated(CurrentPhobsEvent e)
Implement a CurrentPhobsListener method. When the current set of VisionPhobs get updated, group the phobs based on proximity to one another and attempt to decode all Cybercodes in the set and fire the appropriate PhobEvent.

Specified by:
phobSetUpdated in interface CurrentPhobsListener


public static cropAndRotate(VisionPhob phob)
phob -
PlanarImage, cropped and rotated from the raw image source of the VisionPhob input, null if the cropping is unsuccessful