-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't require processing or helpers namespaces #5
Comments
Unfortunately, you are completely right! I started the old version when I was starting to learn Clojure and I was in a big hurry. For now, only the documented namespaces are guaranteed to work. I expect that eye-boof provides only the high level functions of BoofCV. Although only 8bits-integer images were been used, implementing protocols for other image types could be a good choice (do you have any suggestions?). The namespace structure could be something like this:
If you have any suggestion or if you want to help me coding, I would be very glad. |
Sure, I'd love to help out. I'm not yet very familiar with BoofCV myself though. BoofCV has broken up the library in the following artifacts (source):
Plus other extras: android, openkinect, processing, v4l4j, WebcamCapture, xuggler I think you should consider which functionalities you want to support. I think it's easiest if we require all the core functionality above (not the extras). If it becomes to big, you can split it out into smaller pieces later (similar to what ring does). For the namespace structure. I like having the public api namespaces at the top: The visualization module contains functions to show a JFrame with the image (much like the imagez library from mikera). It would be nice if we can create an IShow protocol and extend it not only to the boofcv image types, but also to BufferedImage. |
Great! And I agree with about keeping just a small number of public namespaces. Following the OpenCV modules, for example, we could start implementing the core, processing and visualize namespaces. |
Maybe starting with io is simplest. We need to load files anyway. By the way, there's already a lot implemented in some form or another. How set are you upon maintaining backwards compatibility? |
So I'm really late to the party, but I'm trying to learn Clojure by building a simple CV project. My intention was to use
Is it worth continuing my investigations of eye-boof ? I don't want to waste anyone's time asking questions that will never lead to anything, but on the other hand this seems like a cool place to start. |
Hi, @ivar. Although I didn't have time to update the project ultimately, you could use it for some simple applications (like those on the Readme page). The code that you posted is not expected to work because there is no namespace called just (require '[eye-boof [core :as eb-core]
[io :as eb-io]]) Is it clearer now? ;-) |
Right now the code is a mix between the old and new versions. There are a lot of functions in processing.clj that simply do not work. I would like to use the canny-edges for example, but the namespace won't load, nor is that function it available elsewhere.
It looks like the code needs some cleanup. Do you have in mind what the new structure should look like?
The text was updated successfully, but these errors were encountered: