Rather than keep on coding my application on the computer in c++ I decided I could probably save a lot of time if I switched to a different language. For normal opencv stuff I could do it just as fast as python or matlab but I was looking into parallel processing and it wouldn’t be worth it to setup the libraries for c++ then try and figure out how to work it. I ended up deciding ported my code over to matlab and python. The results aren’t too great though there wasn’t any amazing speed up by using all cores although it did take barely any time to code. Actually matlab was slower rather than faster when it was plugging away on all 4 cores. The problem was the way I was breaking down my program it wasn’t as computationally intensive so matlab’s overhead was actually requiring more work to distribute it than the actual number crunching itself.
The problem is in python I don’t know why but groupRectangles won’t work and that’s the only way I can get the values I need. Maybe it hates windows and would work in linux but I just don’t have the time to setup opencv on linux. It’s not worth it to take the time to write my own groupRectangles so I just gave up. I skimmed over the source and I kind of have an idea what might be wrong but I’m not entirely sure.
For now I’m stuck using matlab to run opencv code. It seems a super round about way when python would be the best but it’s not that bad and it’s fast so that’s all that matters. And if you’re wondering why don’t I just use something else for matlab it’s because it has to be opencv for what I’m testing.
So I’ve tried Scheme which is a dialect of Lisp. I haven’t got into anything deep, just basic recursive functions to get used to the completely different syntax from Java and C++. That’s the nice thing about Java and C++ I find if you know one you pretty much know the other, like all languages though are important nagging differences like setting up libraries and what not what but I guess that depends on the IDE or environment.
Anyways back to Lisp, not sure what I think of it, doing everything recursively is a good brain exercise and it seems you can write powerful code quickly in a short amount of time. Why you would choose to though over Python and it’s many libraries I’m not sure but who knows, maybe It will grow on me. Apparently it’s big for AI but I’m not sold on that…yet.
A cool thing I found out is you can actually make android programs in Lisp, who knew?
There are some really cool things in the works right now but they’re super secret at the moment (patents etc.) but as soon as that’s taken care of there will be a lengthy write up of the system and an app release!