Ask Your Question

Revision history [back]

OpenCV on Debian Linux, runs code on Terminal but doesnt load as APP

I'm using CL-SOM-AM57x - TI AM5728 / AM5718 System-on-Module and load it with Ti's matrix app launcher based on Linux Debian. I am trying to develop a python app which can be launched from TI Matrix GUI. With simple python code the app works fine in Terminal(loads and import openCV and numpy) but when I launch and run the App(have created Icon and the app is executing) from TI matrix GUI which doesn't work properly and shows some errors/warnings in terminal. The App is opening and Prints on screen values but it looks like the OpenCV module and numpy is not loading or working properly.

So I am using TI's Matrix GUI App launcher to launch an App. I have created an App Icon and when i open the app using the Icon, I run the following script.

Shell Script:-


!/bin/bash

/usr/bin/python2.7 /usr/share/matrix-gui-2.0/apps/ex_application/1.py


1.py is a code that uses OpenCV module. This code works and returns a matrix of number when executed from the Terminal. But when I execute it using the shell script and APP ICON from TI's Matrix GUI App launcher, it doesn't work correctly. It starts to work, meaning the script has loaded, but the code from 1.py is not getting executed, and it doesnt return the matrix that I was able to successfully get from the Terminal.

My assumption is that the Opencv module is not getting successfully loaded when running 1.py outside of Terminal using App launcher. Code in 1.py file is shared below.

1.py


import numpy as np import cv2 img = cv2.imread('rgb.jpg') np_image = np.array(img) num_list = np_image.tolist() str1 =str(num_list) print( len(str1)) print(str1)


Below are the errors we get when we execute 1.py using shell script/App launcher.

Errors:


[ 6860.067644] omap_hwmod: mmu0_dsp2: _wait_target_disable failed [ 6860.073549] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0 [ 6860.079683] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0 [ 6860.093489] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [ 6860.099385] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [ 6860.105342] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [ 6870.136544] omap_hwmod: mmu1_dsp1: _wait_target_disable failed [ 6870.149842] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [ 6870.163511] omap_hwmod: mmu1_dsp2: _wait_target_disable failed [ 6870.176696] omap_hwmod: mmu0_dsp2: _wait_target_disable failed


the Output received after executing 1.py is as shared below. When executing the code in Terminal I get a matrix array or numbers corresponding to image which is correct.


4 None


Any help greatly appreciated. Thanks!

click to hide/show revision 2
None

updated 2018-10-27 06:48:09 -0600

berak gravatar image

OpenCV on Debian Linux, runs code on Terminal but doesnt load as APP

I'm using CL-SOM-AM57x - TI AM5728 / AM5718 System-on-Module and load it with Ti's matrix app launcher based on Linux Debian. I am trying to develop a python app which can be launched from TI Matrix GUI. With simple python code the app works fine in Terminal(loads and import openCV and numpy) but when I launch and run the App(have created Icon and the app is executing) from TI matrix GUI which doesn't work properly and shows some errors/warnings in terminal. The App is opening and Prints on screen values but it looks like the OpenCV module and numpy is not loading or working properly.

So I am using TI's Matrix GUI App launcher to launch an App. I have created an App Icon and when i open the app using the Icon, I run the following script.

Shell Script:-


!/bin/bash

#!/bin/bash

/usr/bin/python2.7 /usr/share/matrix-gui-2.0/apps/ex_application/1.py

/usr/share/matrix-gui-2.0/apps/ex_application/1.py

1.py is a code that uses OpenCV module. This code works and returns a matrix of number when executed from the Terminal. But when I execute it using the shell script and APP ICON from TI's Matrix GUI App launcher, it doesn't work correctly. It starts to work, meaning the script has loaded, but the code from 1.py is not getting executed, and it doesnt return the matrix that I was able to successfully get from the Terminal.

My assumption is that the Opencv module is not getting successfully loaded when running 1.py outside of Terminal using App launcher. Code in 1.py file is shared below.

1.py


import numpy as np
import cv2
img = cv2.imread('rgb.jpg')
np_image = np.array(img)
num_list = np_image.tolist()
str1 =str(num_list)
print( len(str1))
print(str1)

print(str1)

Below are the errors we get when we execute 1.py using shell script/App launcher.

Errors:


[ 6860.067644] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
[ 6860.073549] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
[ 6860.079683] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
[ 6860.093489] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 6860.099385] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 6860.105342] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 6870.136544] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[ 6870.149842] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 6870.163511] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
[ 6870.176696] omap_hwmod: mmu0_dsp2: _wait_target_disable failed

failed

the Output received after executing 1.py is as shared below. When executing the code in Terminal I get a matrix array or numbers corresponding to image which is correct.


4
None

None

Any help greatly appreciated. Thanks!