MouseTrap Status

(Difference between revisions)
Jump to: navigation, search
(1.21.2013)
(1.21.2013)
Line 631: Line 631:
  
 
'''Changes'''
 
'''Changes'''
   matches = [ [ ( int(r[0][0]*self.imageScale), int(r[0][1]*self.imageScale)), \
+
   if eyes:
                          ( int((r[0][0]+r[0][3])*self.imageScale), int((r[0][0]+r[0][2])*self.imageScale) )] \
+
            areas = [ (pt[1][0] - pt[0][0])*(pt[1] [1] - pt[0][1]) for pt in eyes ] #replaced x with  [0] and y with [1]
                          for r in points]
+
  
 
===1.23.2013===
 
===1.23.2013===

Revision as of 17:30, 23 January 2013

Please state the versions and OS you are currently working with so that versioning errors can be ruled out.

Team Member Name Installed packages
Amber
Package Name Version
Fedora 17
Gnome 3.4.2
Python 2.7.3
gtk2 (version 3 breaks api) 2.4.13
pygtk2 2.24.0
opencv (cv) 2.3.1
python-xlib 0.15
at-spi-python (python-pyspi) 1.32.0
gnome-common 3.4.0.1
glib2-devel (libglib2.0-dev) 2.32.4
intltool 0.50.2
Logan
Package Name Version
Fedora 17
Gnome 3.4.2
Python 2.7.3
gtk2 2.24.13
pygtk2 2.24.0
opencv 2.3.1
python-xlib 0.15
at-spi-python (python-pyspi) 1.32.0
gnome-common 3.4.0.1
glib2-devel (libglib2.0-dev) 2.32.4
doxygen 1.8.1
intltool 0.50
John
Package Name Version
Ubuntu 10.4.4 LTS
Gnome 2.30.2
Python 2.6.5-0ubuntu1
gtk2 2.20.1-0ubuntu2.1
pygtk2 ???
opencv 2.0.0-3ubuntu2
python-xlib 0.14+20091101-1
at-spi-python (python-pyspi) not installed
gnome-common 2.28.0-1
glib2-devel (libglib2.0-dev) 2.32.4
doxygen 1.8.1
intltool 0.41.0-0ubuntu1


Please enter the status of the ongoing project below

Contents

Amber Status

===12.10.2012=== Full install of mousetrap complete. Config file was manipulated to include failed dependency on 'python-opencv' which has been updated and the package is now referred to as 'cv'. Other dependencies are outdated or the names have been changed as well (xlib-python, etc). New errors with 'gobject' have been identified. Here is the recorded error when running mousetrap:


 ImportError: could not import gobject
 (error was: ImportError('When using gi.repository you must not import static modules like "gobject".
 Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))
 ^C[amber@localhost src]$ Traceback (most recent call last)
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 50, in <module>
   from lib import httpd, dbusd, settings
 File "mousetrap/app/lib/httpd.py", line 31, in <module>
   import mouse
 File "mousetrap/app/lib/mouse.py", line 30, in <module>
   import pyatspi
 File "/usr/lib/python2.7/site-packages/pyatspi/__init__.py", line 17, in <module>
   from gi.repository import Atspi
 File "/usr/lib/python2.7/site-packages/gi/__init__.py", line 23, in <module>
   from ._gi import _API, Repository

Fix: changed import gobject to from gi.repository import GObject like suggested and changed all instances of gobject to GObject

 Changed these files:
 mousetrap/app/main.py
 mousetrap/app/addons/recalc.py
 mousetrap/app/addons/cpu.py
 mousetrap/app/ui/widgets.py
 mousetrap/ocvfw/dev/camera.py


12.11.2012

New error is present:

 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name(name) == 0' failed
 import gobject._gobject
 Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 293, in OcvfwPython
   [])
 ImportError: No module named opencv.cv
 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 ^CTraceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 293, in OcvfwPython
   [])

Will attempt to remove instances of broken dependency opencv to the newer cv


12.17.2012

Bug for pygobject is here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649861

  • The fix is to upgrade to version 3 of gtk?
  • Changed line in configure.in file to AM_CHECK_PYMOD(cv,,,[AC_MSG_ERROR(Could not find python module cv)]) to fix opencv problem when creating make files
  • Highgui no longer exists in the new API for cv (once known as opencv) and it should just be called as cv.whatever.
  • cvCreateCameraCapture() no longer exists, replaced with cv.CaptureFromCAM().

New Error

 /usr/lib/python2.7/site-packages/gobject/constants.py:24:
 Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 101, in start
   self.itf = MainGui(self)
 File "mousetrap/app/ui/main.py", line 54, in __init__
   self.script = self.ctr.script()
 File "mousetrap/app/main.py", line 229, in script
   return get_script_class(self.cfg.get("scripts", "name"))()
 File "mousetrap/app/ui/scripts/__init__.py", line 45, in get_script_class
   script = __import__(script_name, globals(), locals())
 File "mousetrap/app/ui/scripts/joystick.py", line 36, in <module>
   from ..widgets import Mapper
 File "mousetrap/app/ui/widgets.py", line 236, in <module>
   GObject.type_register(Mapper)
 TypeError: argument must be a GObject subclass

Will look into gtk and GObject for error


12.19.2012

  • In this particular file: widgets.py, we actually want to import gobject directly and type_register the Mapper using gobject. After doing this, I have the Window pop up and now a new error has come up.

New Error

 /usr/lib/python2.7/site-
 packages/gobject/constants.py:24: Warning: 
 g_boxed_type_register_static: assertion 
 `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add   
 (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 INFO: mousetrap - MouseTrap's Interface Built and  
 Loaded
 Traceback (most recent call last):
 File "mousetrap/ocvfw/dev/camera.py", line 116, in sync
   Camera.query_image()
 File "mousetrap/ocvfw/_ocv.py", line 125, in query_image
   frame = co.hg.cvQueryFrame( self.capture )
 AttributeError: 'module' object has no attribute 'cvQueryFrame'
 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(),   self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 128,   in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 148, in get_forehead
   face     =   self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 335, in get_haar_points
   cascade = co.cv.cvLoadHaarClassifierCascade( haarCascade, self.imgSize )
 AttributeError: 'module' object has no attribute 'cvLoadHaarClassifierCascade'
 /usr/local/bin/mousetrap: line 139:  6073   Segmentation fault      (core dumped)   /usr/bin/python -c "import mousetrap.app.main as   mousetrap; mousetrap.Controller().start();" "$ARGS"
  • hg no longer exists. _ocv.py should be looked over for inconsistencies with new api
  • Changed line 125 in _ocv.py to frame = co.hg.QueryFrame( self.capture )
 _ocv needs to change many dependencies for the new api
  • Changed import in widgets.py to 'import gobject' and changed to 'gobject.register_type(Mapper)'

I have no other error besides this:

 /usr/lib/python2.7/site-  packages/gobject/constants.py:24: Warning:   g_boxed_type_register_static: assertion   `g_type_from_name (name) == 0' failed
 import gobject._gobject

and this:

 (mousetrap:19550): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",


I believe this is explained in this reported bug: https://bugs.launchpad.net/bzr-gtk/+bug/923824

  • There is a whole big issue with dependencies surrounding pygobject, pygtk, and gtk that are causing errors.


12.20.2012

Looked into error with pygobject, gtk and pygtk and found that the import gi must be the first import in main.py


1.7.2013

New error

 /usr/lib/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
 CvCapture_OpenNI::CvCapture_OpenNI : Failed to enumerate production trees: Can't create any   node of the requested type!
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 INFO: mousetrap - MouseTrap's Interface Built and Loaded
 /usr/local/bin/mousetrap: line 139:  3335 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"

1.8.2013

Error:

 File "mousetrap/ocvfw/_ocv.py", line 332, in get_haar_points
 cascade = co.cv.CvLoadHaarClassifierCascade( haarCascade, self.imgSize )
 AttributeError: 'module' object has no attribute 'CvLoadHaarClassifierCascade'

Fix::

  • LoadHaarClassifier -> Load

Error:

 File "mousetrap/ocvfw/_ocv.py", line 332, in get_haar_points
 cascade = co.cv.Load( haarCascade, self.imgSize )
 AttributeError: Camera instance has no attribute 'imgSize'

Fix:

  • imgSize -> removed

Error:

 File "mousetrap/ocvfw/_ocv.py", line 337, in get_haar_points
 co.cv.Resize( self.img, self.small_img, co.cv.CV_INTER_LINEAR )
 AttributeError: Camera instance has no attribute 'small_img'

Fix:

  • Resize -> cvResize | cvResize -> OK


Receiving new error (same as Logan)

 /usr/lib/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name)   == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 Problems loading mousetrap.ocvfw.idm.eyes
 INFO: mousetrap - MouseTrap's Interface Built and Loaded
 Traceback (most recent call last):
 File "mousetrap/ocvfw/dev/camera.py", line 116, in sync
   Camera.query_image()
 File "mousetrap/ocvfw/_ocv.py", line 127, in query_image
   self.img            = co.cv.cvCreateImage ( self.imgSize, 8, 3 )
 AttributeError: 'module' object has no attribute 'cvCreateImage'
 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 128, in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 148, in get_forehead
   face     = self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 337, in get_haar_points
   co.cv.Resize( self.img, self.small_img, co.cv.CV_INTER_LINEAR )
 AttributeError: Camera instance has no attribute 'small_img'
 /usr/local/bin/mousetrap: line 139:  8105 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as   mousetrap; mousetrap.Controller().start();" "$ARGS"

1.9.2013

Looks like there are some inconsistencies with opencv. Going through and removing outdated methods. I was also looking to see how the camera is initiated, reading through code.

1.11.2013

Was able to get rid of the small_img error after trying several adaptations of opencv methods.

  • cvSize no longer exists and the python tuple (int, int) should be used instead.

Have new error:

 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 128, in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 148, in get_forehead
   face     = self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 350, in get_haar_points
   co.cv.ClearMemStorage( self.storage )
 AttributeError: 'module' object has no attribute 'ClearMemStorage'
 /usr/local/bin/mousetrap: line 139:  6550 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as   mousetrap; mousetrap.Controller().start();" "$ARGS"

New error:

 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/app/ui/main.py", line 186, in update_frame
   self.cap_image.set_from_pixbuf(cap.to_gtk_buff().scale_simple(200, 160, gtk.gdk.INTERP_BILINEAR))
 File "mousetrap/ocvfw/dev/camera.py", line 194, in to_gtk_buff
   buff = gtk.gdk.pixbuf_new_from_data(img.imageData, 
 AttributeError: 'cv2.cv.iplimage' object has no attribute 'imageData'
 DEBUG: ocvfw -> <iplimage(nChannels=1 width=640 height=480 widthStep=640 )>
 DEBUG: ocvfw -> <iplimage(nChannels=1 width=640 height=480 widthStep=640 )>
 DEBUG: ocvfw -> <iplimage(nChannels=1 width=640 height=480 widthStep=640 )>
 DEBUG: ocvfw -> <iplimage(nChannels=1 width=640 height=480 widthStep=640 )>
 /usr/local/bin/mousetrap: line 139:  6816 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"


1.14.2013

New error:

 /usr/lib/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: Ocvfw -> <module 'mousetrap.ocvfw.idm.forehead' from 'mousetrap/ocvfw/idm/forehead.pyc'>
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
 CvCapture_OpenNI::CvCapture_OpenNI : Failed to enumerate production trees: Can't create any node of the requested type!
 ^^^^^^^^^^^^^^^^^^^^^^^^
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: ocvfw -> None
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 INFO: mousetrap - MouseTrap's Interface Built and Loaded
 /usr/local/bin/mousetrap: line 139:  5613 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"

New error:

 /usr/lib/python2.7/site-  packages/gobject/constants.py:24: Warning:  g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
 DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
 INFO: mousetrap.ocvfw.idm -> Forhead Algorithm   loaded
 DEBUG: mousetrap.ocvfw.idm -> Setting Capture
 DEBUG: Commons -> New Singleton Add    (mousetrap.ocvfw.dev.camera.Camera)
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 VIDIOC_QUERYMENU: Invalid argument
 DEBUG: ocvfw -> cmStartCamera: Camera Started
 DEBUG: Camera -> Loaded backend OcvfwPython
 DEBUG: OcvfwBase -> Changed lk_swap value to True
 INFO: mousetrap - Idm loaded and started
 DEBUG: ui.main - Interface Built
 DEBUG: ui.main - Addons loaded
 INFO: mousetrap - MouseTrap's Interface Built and   Loaded
 Help on iplimage object:
 class iplimage(__builtin__.object)
 Methods defined here:
 
 __delitem__(...)
     x.__delitem__(y) <==> del x[y]
 
 __getitem__(...)
     x.__getitem__(y) <==> x[y]
 
 __repr__(...)
     x.__repr__() <==> repr(x)
 
 __setitem__(...)
     x.__setitem__(i, y) <==> x[i]=y
 
 tostring(...)
 
 ----------------------------------------------------------------------
 Data descriptors defined here:
 
 channels
     nChannels
 
 depth
     depth
 
 height
     height
 
 nChannels
    nChannels
 
 origin
    origin
 
 width
     width
 
 ----------------------------------------------------------------------
 Data and other attributes defined here:
 
 __new__ = <built-in method __new__ of type object>
     T.__new__(S, ...) -> a new object with type S, a subtype of T

 DEBUG: ui.main - None
 DEBUG: ui.main -> None
 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/app/ui/main.py", line 186, in update_frame
       self.cap_image.set_from_pixbuf(cap.to_gtk_buff().sc  ale_simple(200, 160, gtk.gdk.INTERP_BILINEAR))
 File "mousetrap/ocvfw/dev/camera.py", line 195, in to_gtk_buff
   buff = gtk.gdk.pixbuf_new_from_data(img.data, 
 AttributeError: 'cv2.cv.iplimage' object has no   attribute 'data'
 /usr/local/bin/mousetrap: line 139:  2209   Segmentation fault      (core dumped)   /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"


  • Fix: replaced imageData with tostring()

1.15.2013

New error:

 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/app/ui/main.py", line 186, in update_frame
   self.cap_image.set_from_pixbuf(cap.to_gtk_buff().scale_simple(200, 160, gtk.gdk.INTERP_BILINEAR))
 File "mousetrap/ocvfw/dev/camera.py", line 198, in to_gtk_buff
   img.widthStep )
 AttributeError: 'cv2.cv.iplimage' object has no attribute 'widthStep'
 /usr/local/bin/mousetrap: line 139:  3991 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"
  • Fix widthStep does not exist, use width


1.16.2013

New Error:

 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 127, in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 147, in get_forehead
   face     = self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 350, in get_haar_points
   for r in points]
 AttributeError: 'module' object has no attribute 'Point'
 /usr/local/bin/mousetrap: line 139:  4940 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap; mousetrap.Controller().start();" "$ARGS"
  • Point no longer exists in the python version of the api. Now tuples are used. Looking into how the points are used in the program to see if it can be changed.

1.17.2013

1.21.2013

  • Fixed most of the Point errors; make sure cvPoint is just a python tuple
  • Load() is the new cvLoadHaarClassifierCascade()
  • The points variable in _ocv.py looks like this: ((173, 130, 145, 145), 15) but it is used as if it was a series of points, so that was changed to r[0][0] and so forth.

Some examples of point errors/changes:

Error

 Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 127, in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 163,  in get_forehead
   areas = [ (pt[1].x - pt[0].x)*(pt[1].y - pt[0].y) for pt in eyes ]

Changes

 if eyes:
           areas = [ (pt[1][0] - pt[0][0])*(pt[1]  [1] - pt[0][1]) for pt in eyes ] #replaced x with   [0] and y with [1]

1.23.2013

New Error:

 OpenCV Error: Incorrect size of input array () in cvGetSubRect, file /builddir/build/BUILD/OpenCV-2.3.1/modules/core/src/array.cpp, line 1262             
 Traceback (most recent call last):                                           
 File "mousetrap/app/main.py", line 238, in update_frame                    
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())    
 File "mousetrap/ocvfw/idm/forehead.py", line 127, in get_capture           
   self.get_forehead()                                                      
 File "mousetrap/ocvfw/idm/forehead.py", line 160, in get_forehead
   "height" : endF[1] - startF[1]}, (startF[0], startF[1]) )# replaced x and y
 File "mousetrap/ocvfw/dev/camera.py", line 378, in get_area
   return Camera.get_haar_roi_points(haar_csd, roi, orig)
 File "mousetrap/ocvfw/_ocv.py", line 378, in get_haar_roi_points
   imageROI = co.cv.GetSubRect(self.img, rect)
 cv2.error
 * had to change some of the code for points, so this could have resulted from that, but I'm not sure what it's particularly building...any ideas?

Logan Status

12/15/12

  • Was successfully able to fix opencv issue by changing the single line "import opencv" in "configure" to be "import cv".
  • When trying to run mousetrap receiving error "ImportError: No module named mousetrap.app.main"
    • As Amber had mentioned, must be in the src directory before running the "mousetrap" command. Thank you =]
      • >> Fix: Are you in the src directory when you run the command 'mousetrap', for the moustrap.app.main error? (Amber)

12/16/12

  • ImportError: could not import gobject (error was: ImportError('When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))
    • Changed all instances by running
grep -rl 'import gobject' ./ | xargs sed -i 's/import gobject/from gi.repository import GObject/g
  • Then changed all instances of gobject to GObject with command
grep -rl 'gobject' ./ | xargs sed -i 's/gobject/GObject/g

12/19/12

  • New Error:
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 91, in start
   idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
 File "mousetrap/ocvfw/pocv.py", line 43, in get_idm
   [])
 File "mousetrap/ocvfw/idm/forehead.py", line 32, in <module>
   from mousetrap.ocvfw.dev.camera import Capture, Point
 File "mousetrap/ocvfw/dev/camera.py", line 34, in <module>
   from mousetrap.ocvfw import _ocv as ocv
 File "mousetrap/ocvfw/_ocv.py", line 282, in <module>
   class OcvfwPython(OcvfwBase):
 File "mousetrap/ocvfw/_ocv.py", line 298, in OcvfwPython
   [])
 ImportError: No module named highgui
    • Changed "opencv.highgui" in mousetrap/ocvfw/backends/OcvfwPython.py to "cv"
  • Another error:
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion  `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
DEBUG: mousetrap.ocvfw.idm -> Setting Capture
DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 93, in start
   self.idm.set_capture(self.cfg.getint("cam", "inputDevIndex"))
 File "mousetrap/ocvfw/idm/forehead.py", line 108, in set_capture
   self.cap = Capture(async=True, idx=cam, backend="OcvfwPython")
 File "mousetrap/ocvfw/dev/camera.py", line 71, in __init__
   Camera.start_camera()
 File "mousetrap/ocvfw/_ocv.py", line 111, in start_camera
   self.capture = co.hg.cvCreateCameraCapture( int(self.idx) )
AttributeError: 'module' object has no attribute 'cvCreateCameraCapture'
    • As Amber mentioned, 'cvCreateCameraCapture' no longer exhists. Replaced the line "self.capture = co.hg.cvCreateCameraCapture( int(self.idx) )" with self.capture = co.hg.CaptureFromCAM( int(self.idx) ) in mousetrap/ocvfw/backends/OcvfwBase.py and mousetrap/ocvfw/_ocv.py.
  • Now receiving the same GObject error as Amber:
Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
 import gobject._gobject
[foss2serve@foss2serve src]$ DEBUG: mousetrap.ocvfw.idm -> Starting Forehead idm
INFO: mousetrap.ocvfw.idm -> Forhead Algorithm loaded
DEBUG: mousetrap.ocvfw.idm -> Setting Capture
DEBUG: Commons -> New Singleton Add (mousetrap.ocvfw.dev.camera.Camera)
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
DEBUG: ocvfw -> cmStartCamera: Camera Started
DEBUG: Camera -> Loaded backend OcvfwPython
DEBUG: OcvfwBase -> Changed lk_swap value to True
INFO: mousetrap - Idm loaded and started
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "mousetrap/app/main.py", line 101, in start
   self.itf = MainGui(self)
 File "mousetrap/app/ui/main.py", line 54, in __init__
   self.script = self.ctr.script()
 File "mousetrap/app/main.py", line 229, in script
   return get_script_class(self.cfg.get("scripts", "name"))()
 File "mousetrap/app/ui/scripts/__init__.py", line 45, in get_script_class
   script = __import__(script_name, globals(), locals())
 File "mousetrap/app/ui/scripts/joystick.py", line 36, in <module>
   from ..widgets import Mapper
 File "mousetrap/app/ui/widgets.py", line 237, in <module>
   GObject.type_register(Mapper)
TypeError: argument must be a GObject subclass
    • As Amber mentioned, widget.py must use gobject and not GObject.

12/20/12

  • New error when running. Window pops up for a momment and then this error appears.
Mousetrap - MouseTrap's Interface Built and Loaded
Traceback (most recent call last):
 File "mousetrap/ocvfw/dev/camera.py", line 116, in sync
   Camera.query_image()
 File "mousetrap/ocvfw/_ocv.py", line 125, in query_image
   frame = co.hg.cvQueryFrame( self.capture )
AttributeError: 'module' object has no attribute 'cvQueryFrame'
Traceback (most recent call last):
 File "mousetrap/app/main.py", line 238, in update_frame
   self.itf.update_frame(self.idm.get_capture(), self.idm.get_pointer())
 File "mousetrap/ocvfw/idm/forehead.py", line 128, in get_capture
   self.get_forehead()
 File "mousetrap/ocvfw/idm/forehead.py", line 148, in get_forehead
   face     = self.cap.get_area(commons.haar_cds['Face'])
 File "mousetrap/ocvfw/dev/camera.py", line 373, in get_area
   return Camera.get_haar_points(haar_csd)
 File "mousetrap/ocvfw/_ocv.py", line 335, in get_haar_points
   cascade = co.cv.cvLoadHaarClassifierCascade( haarCascade, self.imgSize )
AttributeError: 'module' object has no attribute 'cvLoadHaarClassifierCascade'
/usr/local/bin/mousetrap: line 139:  9390 Segmentation fault      (core dumped) /usr/bin/python -c "import mousetrap.app.main as mousetrap;   mousetrap.Controller().start();" "$ARGS"
    • Changed "cvLoadHaarClassifierCascade" to "CascadeClassifier" on line 335 of _ocv.py
    • Changed "cvQueryFrame" to "QueryFrame" on line 125 of _ocv.py
    • Changed "cvResize" to "Resize" on line 341
    • Removed cv.cvXXX in _ocv.py to cv.XXXX (Methods no longer start with cvXXX)
  • Now have error of
Camera instance has no attribute 'small_img'

1/4/12

  • It appears that the error is appearing becuase there is no image being captured from the webcam. I am working on trying to figure out why that is.

John Status

12/29/12

  • Noted that mousetrap and gnome-mousetrap are in the Ubuntu repository. Ignoring this and following instructions provided by the MouseTrap GNOME Live! project page…
  • Installation went as expected. Ran into every issue in the 'Troubleshooting' table, but that seems to be expected behavior.
  • Running MouseTrap with command 'mousetrap'. Expected errors due to lack of webcam. Otherwise seems to run without issue (preferences window pops up when button clicked, and so forth).
  • Quits without issue.

Thoughts on Install Process:

  • Noted that it might be nice if they add the commands for the RPM package manager to the instructions.
  • "Troubleshooting" should be a link to the Troubleshooting section for user-friendliness.
  • 'Dependency hell' is tedious. Due to the fact that MouseTrap is in the Ubuntu repositories suggests it might be in others as well. It might be useful to include this fact in the install instructions.
  • Else it might be useful for the autogen.sh shell file to automatically detect if a package is installed (it already does this) and installs them if they are not. This will run into an issue with different package management systems. A different shell file for the popular ones (APT and RPM)?
  • A GUI installer would be the most user-friendly, but that's not the Linux MO.

1/13/13

  • Webcam received and set up. Seems to be recognized OOTB on Ubuntu -- the light goes on when in use, etc.
  • When running Mousetrap, it shows a blank window (most of the time) or a frozen video frame (only seen this once). In the terminal, it repeatedly displays errors similar to this;
Corrupt JPEG data: 1 extraneous bytes before marker 0xd9
  • When running again with webcam unplugged, it runs fine.
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox