opencv 3.2.0-1: imshow() very slow
Falk Tannhäuser
falk.tannhauser@free.fr
Sun May 14 00:07:00 GMT 2017
Am 07.05.2017 um 21:16 schrieb René Berber:
> Obviously you are not running dbus-daemon, which accounts for the
> time-out, and the delay, but where does that dependency come from? Is it
> needed? apparently not.
>
> According to OpenCV's documentation
> (http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html)
> there is no such dependency.
Well, I think there were many functionalities added to OpenCV between releases 2.4 and 3.2, so it seems that dbus-daemon is now required. As a
matter of fact, it is launched in the background the first time I start my 'cvtest' program - here is an extract of a bash session:
___________________________________________________________________________
falkt@FalksAsusDesktop Mo 2017-05-08 01:35:13 ~
$ python cvtest.py
Image shape: (600, 800, 3)
** (Great title:10460): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout
expired, or the network connection was broken.
26.541 s
falkt@FalksAsusDesktop Mo 2017-05-08 01:35:54 ~
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
6192 10764 2924 4404 ? 197609 01:35:29 /usr/libexec/at-spi-bus-launcher
396 1 10460 396 pty0 197609 01:35:29 /usr/bin/dbus-launch
8416 1944 1944 2360 cons0 197609 17:28:14 /usr/bin/xinit
10744 8416 10744 10244 cons0 197609 17:28:14 /usr/bin/XWin
1944 1 1944 6284 cons0 197609 17:28:09 /usr/bin/sh
6492 8416 6492 10288 ? 197609 17:28:16 /usr/bin/sh
8388 6492 6492 6424 ? 197609 17:28:16 /usr/bin/sleep
6860 2756 6860 8292 pty0 197609 01:34:52 /usr/bin/bash
10764 2924 2924 10764 ? 197609 01:35:29 /usr/bin/dbus-daemon
2756 1 2756 2756 ? 197609 01:34:52 /usr/bin/mintty
6464 6860 6464 4904 pty0 197609 01:36:01 /usr/bin/ps
2924 1 2924 2924 ? 197609 01:35:29 /usr/bin/dbus-daemon
falkt@FalksAsusDesktop Mo 2017-05-08 01:36:01 ~
$
___________________________________________________________________________
Strangely enough, even with dbus-daemon launched, the problem persists.
> Check out the libraries linked, and probably one of them has that
> dependency. Dbus library is linked somehow, the problem is which other
> library was the one that brought it. Perhaps checking with pkg-config
> to see which one uses it would help.
When I run cygcheck on the executable generated from the cvtest.cxx program I posted, I get the following list:
___________________________________________________________________________
$ cygcheck ./cvtest.exe
C:\Users\falkt\Documents\cvtest.exe
C:\cygwin64\bin\cygwin1.dll
C:\WINDOWS\system32\KERNEL32.dll
C:\WINDOWS\system32\ntdll.dll
C:\WINDOWS\system32\KERNELBASE.dll
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\api-ms-win-eventing-provider-l1-1-0.dll
C:\cygwin64\bin\cygopencv_core-3.2.dll
C:\cygwin64\bin\cygz.dll
C:\cygwin64\bin\cyggcc_s-seh-1.dll
C:\cygwin64\bin\cygstdc++-6.dll
C:\cygwin64\bin\cygopencv_highgui-3.2.dll
C:\cygwin64\bin\cygopencv_imgcodecs-3.2.dll
C:\cygwin64\bin\cygopencv_imgproc-3.2.dll
C:\cygwin64\bin\cygHalf-12.dll
C:\cygwin64\bin\cygIlmImf-22.dll
C:\cygwin64\bin\cygIex-12.dll
C:\cygwin64\bin\cygIlmThread-12.dll
C:\cygwin64\bin\cygjasper-4.dll
C:\cygwin64\bin\cygjpeg-8.dll
C:\cygwin64\bin\cygpng16-16.dll
C:\cygwin64\bin\cygtiff-6.dll
C:\cygwin64\bin\cygjbig-2.dll
C:\cygwin64\bin\cyglzma-5.dll
C:\cygwin64\bin\cygwebp-5.dll
C:\cygwin64\bin\cygcairo-2.dll
C:\cygwin64\bin\cygEGL-1.dll
C:\cygwin64\bin\cygexpat-1.dll
C:\cygwin64\bin\cygX11-xcb-1.dll
C:\cygwin64\bin\cygxcb-1.dll
C:\cygwin64\bin\cygXau-6.dll
C:\cygwin64\bin\cygXdmcp-6.dll
C:\cygwin64\bin\cygfontconfig-1.dll
C:\cygwin64\bin\cygfreetype-6.dll
C:\cygwin64\bin\cygbz2-1.dll
C:\cygwin64\bin\cygGL-1.dll
C:\cygwin64\bin\cygglapi-0.dll
C:\cygwin64\bin\cygX11-6.dll
C:\cygwin64\bin\cygxcb-glx-0.dll
C:\cygwin64\bin\cygXext-6.dll
C:\WINDOWS\system32\GDI32.dll
C:\WINDOWS\system32\OPENGL32.dll
C:\WINDOWS\system32\msvcrt.dll
C:\WINDOWS\system32\ADVAPI32.dll
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\api-ms-win-eventing-controller-l1-1-0.dll
C:\WINDOWS\system32\SECHOST.dll
C:\WINDOWS\system32\RPCRT4.dll
C:\WINDOWS\system32\GLU32.dll
C:\WINDOWS\system32\USER32.dll
C:\WINDOWS\system32\win32u.dll
C:\WINDOWS\system32\DDRAW.dll
C:\WINDOWS\system32\DCIMAN32.dll
C:\cygwin64\bin\cygpixman-1-0.dll
C:\cygwin64\bin\cygxcb-render-0.dll
C:\cygwin64\bin\cygxcb-shm-0.dll
C:\cygwin64\bin\cygXrender-1.dll
C:\cygwin64\bin\cyggdk-3-0.dll
C:\cygwin64\bin\cygcairo-gobject-2.dll
C:\cygwin64\bin\cygglib-2.0-0.dll
C:\cygwin64\bin\cygiconv-2.dll
C:\cygwin64\bin\cygintl-8.dll
C:\cygwin64\bin\cygpcre-1.dll
C:\cygwin64\bin\cyggobject-2.0-0.dll
C:\cygwin64\bin\cygffi-6.dll
C:\cygwin64\bin\cygepoxy-0.dll
C:\cygwin64\bin\cyggdk_pixbuf-2.0-0.dll
C:\cygwin64\bin\cyggio-2.0-0.dll
C:\cygwin64\bin\cyggmodule-2.0-0.dll
C:\cygwin64\bin\cygpango-1.0-0.dll
C:\cygwin64\bin\cygthai-0.dll
C:\cygwin64\bin\cygdatrie-1.dll
C:\cygwin64\bin\cygpangocairo-1.0-0.dll
C:\cygwin64\bin\cygpangoft2-1.0-0.dll
C:\cygwin64\bin\cygharfbuzz-0.dll
C:\cygwin64\bin\cyggraphite2-3.dll
C:\cygwin64\bin\cygXcomposite-1.dll
C:\cygwin64\bin\cygXcursor-1.dll
C:\cygwin64\bin\cygXfixes-3.dll
C:\cygwin64\bin\cygXdamage-1.dll
C:\cygwin64\bin\cygXi-6.dll
C:\cygwin64\bin\cygXinerama-1.dll
C:\cygwin64\bin\cygXrandr-2.dll
C:\cygwin64\bin\cyggtk-3-0.dll
C:\cygwin64\bin\cygatk-1.0-0.dll
C:\cygwin64\bin\cygatk-bridge-2.0-0.dll
C:\cygwin64\bin\cygatspi-0.dll
C:\cygwin64\bin\cygdbus-1-3.dll
___________________________________________________________________________
So effectively cygdbus-1-3.dll appears in the last line.
> Of course there's a better hint on your message: 'org.a11y.Bus' I have
> no idea what library, or program uses that Dbus ID. Using Google I
> found
> https://github.com/GNOME/at-spi2-core/blob/master/bus/org.a11y.Bus.service.in
> which is Gnome... so perhaps the OpenCV released only works with Gnome &
> X-Windows running.
Starting the cvtest programs in a Gnome session doesn't change anything: always the same warning message and a 25-seconds delay before
displaying the picture in a window.
-- Falk
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list