@Isaiah Thank you for addressing the issue. Here is what I did. To match with your Julia version I installed julia-0.4 installed PyCall.jl changed the line you mentioned. restart julia and rebuild PyCall.jl (just in case) Following is the output of the @pyimport cv2 ( it is not much)
ERROR: BoundsError: attempt to access 0-element Array{UInt8,1} at index [1] in getindex at ./ascii.jl:13 in anonymous at /home/badami/.julia/v0.4/PyCall/src/PyCall.jl:313 in filter at array.jl:933 in pywrap at /home/badami/.julia/v0.4/PyCall/src/PyCall.jl:310 in pywrap at /home/badami/.julia/v0.4/PyCall/src/PyCall.jl:298 Any ideas? Best Ishrat On Friday, September 18, 2015 at 6:14:51 PM UTC+2, Isaiah wrote: > > Hi Ishrat, > > Welcome to Julia. About the original question of loading OpenCV via > PyCall, there was a discussion that mentioned using it, successfully, in > this thread: > > https://github.com/timholy/Images.jl/issues/96#issuecomment-44529823 > > I also just tested it myself, and cv2 imported successfully on Ubuntu > 14.04 with Julia 0.3.11 / Python 2.7.6. However, I am using the default > version of opencv installed by `apt-get install python-opencv`, which > appears to be 2.4 (rather than your 3.0 version). > > A couple suggestions for debugging this: > > - the first thing is to check is that PyCall is up-to-date, using > `Pkg.update()`. (just in case, might have been fixed since the last update). > > - another idea to add some debugging output in the failing "pywrap" > function. You could change line 312 ( > https://github.com/stevengj/PyCall.jl/blob/804e065479362f0f3f8a413f8d9ddeb201fccfbc/src/PyCall.jl#L312) > > from: > > [symbol(x[1]) for x in filter(x -> x[1][1] != '_', members)] > to > [symbol(x[1]) for x in filter(x -> (println(x); x[1][1]) != '_', members)] > > And then start Julia try `@pyimport cv2` again. This should now print out > all of the objects as they are filtered at that line, which might give a > clue why the error is happening -- check the output just before the error > occurs. Maybe there is some change in OpenCV 3 that is different from what > PyCall expects there? > > Best, > Isaiah > > > > On Fri, Sep 18, 2015 at 7:34 AM, Ishrat Badami <badami...@gmail.com > <javascript:>> wrote: > >> Hi everyone, >> >> For quite some time I am trying to use opencv with julia. >> Initially I tried installing Cxx.jl + OpenCV.jl with julia 4.0 >> following the instructions given here: https://github.com/Keno/Cxx.jl >> >> I encountered compiling errors while building Cxx package in julia . >> https://github.com/Keno/Cxx.jl/issues/159 which still needs to be >> resolved. >> I also tried LLVM-3.7.0 + julia-0.4 but and I am encountering different >> set of compilation errors related to clang library. >> >> Hence I gave up installing Cxx package. >> >> I then installed PyCall.jl package to try and see if I can use OpenCV >> Python api in Julia. >> >> The python api works in python REPL using import cv2 command. >> >> But when I try >> >> *using PyCall + @pyimport cv2* I get following error: >> >> ERROR: BoundsError() >> in anonymous at /home/badami/.julia/v0.3/PyCall/src/PyCall.jl:312 >> in filter at array.jl:1230 >> in pywrap at /home/badami/.julia/v0.3/PyCall/src/PyCall.jl:310 >> in pywrap at /home/badami/.julia/v0.3/PyCall/src/PyCall.jl:298 >> >> My question is : Is it possible to pyimport opencv python api in julia at >> all? >> I am really looking forward for some help. Feeling desperate. >> >> My system specs: >> OS: Ubuntu 14.04 >> Python: 2.7.6 >> OpenCV: 3.0.0 >> julia-0.3 >> >> Thank you. >> >> >> >