ayuda para ejecutar opencv en android

Estoy tratando de ejecutar esta muestra de opencv para Android desde aquí. http://code.google.com/p/android-opencv/

Seguí las instrucciones muy de cerca y construí con éxito opencv y luego CVCamera a partir de las muestras. Luego configuré opencv como un proyecto de biblioteca de Android y lo hice referencia desde CVCamera.

Cuando instalo la aplicación en el emulador y la ejecuto, no obtengo ningún error. La aplicación se enfoca e inmediatamente pierde el enfoque y parece terminar. Aquí están los mensajes DDMS. ¿Alguna idea de por qué podría no estar funcionando?

01-09 07:36:32.503: INFO/ActivityManager(53): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.theveganrobot.cvcamera/.CVCamera }
01-09 07:36:32.593: INFO/ActivityManager(53): Start proc com.theveganrobot.cvcamera for activity com.theveganrobot.cvcamera/.CVCamera: pid=230 uid=10024 gids={1006, 1015}
01-09 07:36:32.913: DEBUG/ddm-heap(230): Got feature list request
01-09 07:36:32.983: INFO/WindowManager(53): Setting rotation to 1, animFlags=0
01-09 07:36:33.073: INFO/ActivityManager(53): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=2 layout=18}
01-09 07:36:33.363: DEBUG/dalvikvm(230): Trying to load lib /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so 0x43d0bb68
01-09 07:36:33.493: INFO/DEBUG(28): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-09 07:36:33.503: INFO/DEBUG(28): Build fingerprint: 'generic/sdk/generic/:2.1-update1/ECLAIR/35983:eng/test-keys'
01-09 07:36:33.503: INFO/DEBUG(28): pid: 230, tid: 230  >>> com.theveganrobot.cvcamera <<<
01-09 07:36:33.503: INFO/DEBUG(28): signal 4 (SIGILL), fault addr 80d763a4
01-09 07:36:33.503: INFO/DEBUG(28):  r0 00000000  r1 80e0cbb8  r2 80ca9199  r3 80cb1839
01-09 07:36:33.503: INFO/DEBUG(28):  r4 000efdf0  r5 80e6fa24  r6 00000004  r7 00000000
01-09 07:36:33.503: INFO/DEBUG(28):  r8 ad00f380  r9 0000bd00  10 4104bbe8  fp 00000000
01-09 07:36:33.503: INFO/DEBUG(28):  ip 80e66208  sp becb4600  lr 80ca94c7  pc 80d763a4  cpsr 60000030
01-09 07:36:33.603: INFO/DEBUG(28):          #00  pc 001763a4  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.603: INFO/DEBUG(28):          #01  pc 000a94c2  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.613: INFO/DEBUG(28):          #02  pc b00001fc  /system/bin/linker
01-09 07:36:33.613: INFO/DEBUG(28):          #03  pc b00002bc  /system/bin/linker
01-09 07:36:33.613: INFO/DEBUG(28):          #04  pc b00018a4  /system/bin/linker
01-09 07:36:33.624: INFO/DEBUG(28):          #05  pc b0001b70  /system/bin/linker
01-09 07:36:33.624: INFO/DEBUG(28):          #06  pc b0001552  /system/bin/linker
01-09 07:36:33.624: INFO/DEBUG(28):          #07  pc b0001cbc  /system/bin/linker
01-09 07:36:33.624: INFO/DEBUG(28):          #08  pc 0003cdfc  /system/lib/libdvm.so
01-09 07:36:33.624: INFO/DEBUG(28):          #09  pc 0005416a  /system/lib/libdvm.so
01-09 07:36:33.634: INFO/DEBUG(28):          #10  pc 00013f58  /system/lib/libdvm.so
01-09 07:36:33.644: INFO/DEBUG(28):          #11  pc 00019888  /system/lib/libdvm.so
01-09 07:36:33.644: INFO/DEBUG(28):          #12  pc 00018d5c  /system/lib/libdvm.so
01-09 07:36:33.644: INFO/DEBUG(28):          #13  pc 0004d6d0  /system/lib/libdvm.so
01-09 07:36:33.644: INFO/DEBUG(28):          #14  pc 0004d702  /system/lib/libdvm.so
01-09 07:36:33.654: INFO/DEBUG(28):          #15  pc 00058232  /system/lib/libdvm.so
01-09 07:36:33.654: INFO/DEBUG(28):          #16  pc 00059ab4  /system/lib/libdvm.so
01-09 07:36:33.664: INFO/DEBUG(28):          #17  pc 00010fe8  /system/lib/libdvm.so
01-09 07:36:33.674: INFO/DEBUG(28):          #18  pc 00019888  /system/lib/libdvm.so
01-09 07:36:33.674: INFO/DEBUG(28):          #19  pc 00018d5c  /system/lib/libdvm.so
01-09 07:36:33.683: INFO/DEBUG(28):          #20  pc 0004d6d0  /system/lib/libdvm.so
01-09 07:36:33.683: INFO/DEBUG(28):          #21  pc 0004d702  /system/lib/libdvm.so
01-09 07:36:33.683: INFO/DEBUG(28):          #22  pc 00053ce4  /system/lib/libdvm.so
01-09 07:36:33.694: INFO/DEBUG(28):          #23  pc 00013f58  /system/lib/libdvm.so
01-09 07:36:33.694: INFO/DEBUG(28):          #24  pc 00019888  /system/lib/libdvm.so
01-09 07:36:33.703: INFO/DEBUG(28):          #25  pc 00018d5c  /system/lib/libdvm.so
01-09 07:36:33.703: INFO/DEBUG(28):          #26  pc 0004d3bc  /system/lib/libdvm.so
01-09 07:36:33.703: INFO/DEBUG(28):          #27  pc 00054e74  /system/lib/libdvm.so
01-09 07:36:33.703: INFO/DEBUG(28):          #28  pc 00013f58  /system/lib/libdvm.so
01-09 07:36:33.703: INFO/DEBUG(28):          #29  pc 00019888  /system/lib/libdvm.so
01-09 07:36:33.714: INFO/DEBUG(28):          #30  pc 00018d5c  /system/lib/libdvm.so
01-09 07:36:33.734: INFO/DEBUG(28):          #31  pc 0004d6d0  /system/lib/libdvm.so
01-09 07:36:33.734: INFO/DEBUG(28): code around pc:
01-09 07:36:33.734: INFO/DEBUG(28): 80d76394 b08bb530 46054c10 20009306 bf009b10 
01-09 07:36:33.734: INFO/DEBUG(28): 80d763a4 0c00f20f 44649000 f04f9003 93090c28 
01-09 07:36:33.734: INFO/DEBUG(28): 80d763b4 90029b0e f8cd4668 9307c004 91049b0f 
01-09 07:36:33.734: INFO/DEBUG(28): code around lr:
01-09 07:36:33.734: INFO/DEBUG(28): 80ca94b4 480f1861 58e318a2 90021820 f0cc4628 
01-09 07:36:33.734: INFO/DEBUG(28): 80ca94c4 4b0cff67 58e14628 58e24b0b ec24f7b1 
01-09 07:36:33.734: INFO/DEBUG(28): 80ca94d4 bd30b005 001bccfc ffe445c1 00000264 
01-09 07:36:33.744: INFO/DEBUG(28): stack:
01-09 07:36:33.744: INFO/DEBUG(28):     becb45c0  b000fd00  /system/bin/linker
01-09 07:36:33.744: INFO/DEBUG(28):     becb45c4  80e660c0  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.744: INFO/DEBUG(28):     becb45c8  00000000  
01-09 07:36:33.780: INFO/DEBUG(28):     becb45cc  b0000559  /system/bin/linker
01-09 07:36:33.784: INFO/DEBUG(28):     becb45d0  0000001b  
01-09 07:36:33.784: INFO/DEBUG(28):     becb45d4  aca01df2  /system/lib/libGLESv2.so
01-09 07:36:33.784: INFO/DEBUG(28):     becb45d8  b00163f8  
01-09 07:36:33.784: INFO/DEBUG(28):     becb45dc  b00032e8  /system/bin/linker
01-09 07:36:33.784: INFO/DEBUG(28):     becb45e0  b00129d8  
01-09 07:36:33.784: INFO/DEBUG(28):     becb45e4  becb45fc  [stack]
01-09 07:36:33.784: INFO/DEBUG(28):     becb45e8  80c3b080  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.784: INFO/DEBUG(28):     becb45ec  b000fac4  /system/bin/linker
01-09 07:36:33.794: INFO/DEBUG(28):     becb45f0  afe42c7c  
01-09 07:36:33.794: INFO/DEBUG(28):     becb45f4  afe0f3b0  /system/lib/libc.so
01-09 07:36:33.794: INFO/DEBUG(28):     becb45f8  df002777  
01-09 07:36:33.794: INFO/DEBUG(28):     becb45fc  e3a070ad  
01-09 07:36:33.794: INFO/DEBUG(28): #00 becb4600  00000000  
01-09 07:36:33.794: INFO/DEBUG(28):     becb4604  afe0f2c0  /system/lib/libc.so
01-09 07:36:33.794: INFO/DEBUG(28):     becb4608  00000000  
01-09 07:36:33.794: INFO/DEBUG(28):     becb460c  00000001  
01-09 07:36:33.794: INFO/DEBUG(28):     becb4610  00001000  
01-09 07:36:33.804: INFO/DEBUG(28):     becb4614  80c5bbdc  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4618  80caa5a1  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb461c  afe23043  /system/lib/libc.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4620  00000000  
01-09 07:36:33.804: INFO/DEBUG(28):     becb4624  afe179a5  /system/lib/libc.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4628  00000000  
01-09 07:36:33.804: INFO/DEBUG(28):     becb462c  80e66198  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4630  80e6fa24  
01-09 07:36:33.804: INFO/DEBUG(28):     becb4634  80ca94c7  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28): #01 becb4638  80caa759  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb463c  80ca91bd  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4640  80cb1839  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4644  80e63bf8  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4648  00000004  
01-09 07:36:33.804: INFO/DEBUG(28):     becb464c  80e63bfc  /data/data/com.theveganrobot.cvcamera/lib/libandroid-opencv.so
01-09 07:36:33.804: INFO/DEBUG(28):     becb4650  00000003  
01-09 07:36:33.804: INFO/DEBUG(28):     becb4654  b00001ff  /system/bin/linker
01-09 07:36:34.454: DEBUG/Zygote(30): Process 230 terminated by signal (4)
01-09 07:36:34.454: INFO/ActivityManager(53): Process com.theveganrobot.cvcamera (pid 230) has died.
01-09 07:36:34.514: INFO/ARMAssembler(53): generated scanline__00000077:03010104_00000004_00000000 [ 22 ipp] (41 ins) at [0x48c470:0x48c514] in 13459425 ns
01-09 07:36:34.644: DEBUG/dalvikvm(53): GC freed 4974 objects / 263544 bytes in 145ms
01-09 07:36:34.654: INFO/WindowManager(53): Setting rotation to 0, animFlags=0
01-09 07:36:34.704: INFO/ActivityManager(53): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=18}
01-09 07:36:34.814: INFO/UsageStats(53): Unexpected resume of com.android.launcher while already resumed in com.theveganrobot.cvcamera
01-09 07:36:34.894: WARN/InputManagerService(53): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43cb43c8
01-09 07:36:37.094: DEBUG/dalvikvm(53): GC freed 1944 objects / 103176 bytes in 78ms

preguntado el 09 de enero de 11 a las 02:01

2 Respuestas

Tengo el mismo problema ... parece ser un error. Aquí está el enlace al boleto

https://code.ros.org/trac/opencv/ticket/789

El error me ocurre solo cuando uso el emulador. Si intenta cargar y ejecutar en el dispositivo directamente, podría funcionar

Respondido el 10 de enero de 11 a las 16:01

Maldita sea. Necesito esto muy rápido. ¿Conoce alguna solución alternativa o una versión anterior que no tenga este problema? - akula1001

SIGILL significa que su programa está intentando ejecutar instrucciones ilegales. En este caso, el problema es que el emulador (así como los dispositivos más antiguos) solo puede ejecutar instrucciones desde ARMv5 ISA, mientras que para obtener un mejor rendimiento, normalmente queremos que cosas como OpenCV se compilen contra ARMv7 ISA, que viene con un FPU. Más información sobre este problema en este hilo:

http://groups.google.com/group/android-ndk/browse_thread/thread/a19fc6df3d661d79

Para resolver esto, necesita recompilar OpenCV sin usar ninguna de las cosas "v7" del NDK.

respondido 03 mar '11, 06:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.