[Haskell-cafe] [ANN] New OpenCV Bindings

Arjun Comar nrujac at gmail.com
Sat Sep 28 21:48:48 CEST 2013

Ahh, I misunderstood then. Who is currently maintaining the HOpenCV package
on Hackage?

On Sat, Sep 28, 2013 at 3:45 PM, Anthony Cowley <acowley at seas.upenn.edu>wrote:

> To be clear, I am not the maintainer of HOpenCV. I have used a fork of
> that library for experimenting with OpenCV interfaces over the past few
> years, and written quite a few kloc using it in several robotics oriented
> projects with computer vision needs. None of my experiments with HOpenCV
> are on hackage as they are experiments, but I have helped others get
> started with them over time.
> I am totally supportive of Arjun's new efforts: OpenCV has changed a lot,
> and there is reason to be optimistic that he will be able to provide a much
> better foundation for Haskell bindings than we have ever had. As the low
> level bindings come online, we will be able to introduce some of the extra
> type-driven code paths and static checks that have proven successful in the
> existing fragmented Haskell-OpenCV ecosystem.
> Anthony
> On Sep 28, 2013, at 2:31 PM, Arjun Comar <nrujac at gmail.com> wrote:
> I've been talking to Anthony Cowley who I think is the current maintainer
> of HOpenCV and Ville Tirronen who has been developing the CV bindings.
> Basically the consensus is that these raw bindings provide a new base to
> work from, and it's worthwhile to rethink the API we provide with a fresh
> start.
> On Sat, Sep 28, 2013 at 2:23 PM, Ivan Perez <ivanperezdominguez at gmail.com>wrote:
>> The people working on HOpenCV are very open to incorporating other's
>> programmer's patches. Maybe you can incorporate your changes to
>> cv-combinators? (Project's been halted since 2010, I'm sure they'll be very
>> happy to see that sb is contributing).
>> On 28 September 2013 19:13, Arjun Comar <nrujac at gmail.com> wrote:
>>> Fair enough, it's been two or three years since I tried to play with
>>> them. Most of my work is in the raw bindings currently, which provide the
>>> C++ API in Haskell, so much lower level that cv-combinators. If HOpenCV
>>> were to incorporate parts of these bindings then cv-combinators would be
>>> able to benefit from this work. That said, my effort going forward is to
>>> provide something equivalent to cv-combinators in expressiveness. I'm
>>> definitely taking inspiration from the library though I'm not basing my
>>> work on their source code.
>>> On Sat, Sep 28, 2013 at 12:51 PM, Ivan Perez <
>>> ivanperezdominguez at gmail.com> wrote:
>>>> I think they do work. cv-combinators depends on HOpenCV, which depends
>>>> on OpenCV 2.0.
>>>> On 28 September 2013 16:03, Arjun Comar <nrujac at gmail.com> wrote:
>>>>> No, these are unrelated. Cv-combinators hasn't really worked since
>>>>> OpenCV 2.0 waa released I believe.
>>>>>  On Sep 28, 2013 8:54 AM, "Ivan Perez" <ivanperezdominguez at gmail.com>
>>>>> wrote:
>>>>>> Cool. Thanks a lot for uploading this.
>>>>>> I have a question (and I confess that I haven't checked the link).
>>>>>> How is this related to or overlaps with cv-combinators?
>>>>>> Cheers
>>>>>> Ivan
>>>>>> On 28 September 2013 06:18, Arjun Comar <nrujac at gmail.com> wrote:
>>>>>>> After receiving feedback, I went ahead and split out the raw C
>>>>>>> wrappers and Haskell bindings. You can find them at
>>>>>>> www.github.com/arjuncomar/opencv-raw. I'll upload it to hackage as
>>>>>>> opencv-raw once I have uploader privileges.
>>>>>>> Regards,
>>>>>>> Arjun
>>>>>>> On Fri, Sep 27, 2013 at 4:09 PM, Arjun Comar <nrujac at gmail.com>wrote:
>>>>>>>> Hi all,
>>>>>>>> I've been hard at work on a new set of OpenCV bindings that will
>>>>>>>> hopefully solve a lot of the shortcomings with previous attempts. An
>>>>>>>> automatic header parser has been used to generate a full set of Haskell
>>>>>>>> bindings for the C++ API, and I'm now working to create a pleasant Haskell
>>>>>>>> API. The plan is to expose major functionality through pipes for two
>>>>>>>> reasons: 1) OpenCV is not very referentially transparent, and so you're
>>>>>>>> stuck in IO for anything non-trivial. Lazy IO is potentially problematic,
>>>>>>>> and so immediate incorporation of a proper streaming library is probably
>>>>>>>> best. 2) Computer vision algorithms are frequently expressed in terms of
>>>>>>>> pipelines of functionality, and a pipes approach can provide a very natural
>>>>>>>> API for expressing these algorithms.
>>>>>>>> At this stage, I could very much use input from anyone who's
>>>>>>>> interested in these bindings. I've got the basics of a library forming, but
>>>>>>>> there's a ton to do and help in the form of pull requests are very very
>>>>>>>> welcome. I could also use feedback on what's been done so far (especially
>>>>>>>> criticisms) as well as feature requests.
>>>>>>>> The current plan is to develop the pipes API for the core
>>>>>>>> functionality. The plan is to provide the major functionality from core,
>>>>>>>> highgui, imgproc, features2d, contrib, ml, flann, video, and objdetect as
>>>>>>>> quickly as I can before trying to cover any of the more specialized parts
>>>>>>>> of the API. The functions and types from these modules (baring a few major
>>>>>>>> and important exceptions) are automatically translated into C wrappers and
>>>>>>>> raw Haskell bindings.
>>>>>>>> If there's sufficient interest in these raw bindings separately
>>>>>>>> from the API I'm developing, I'll release them as a separate package on
>>>>>>>> Hackage. I'm calling my project revelation for the moment because I'm bad
>>>>>>>> at naming things and it was the best pun I could come up with.
>>>>>>>> Github: www.github.com/arjuncomar/revelation
>>>>>>>> Regards,
>>>>>>>> Arjun
>>>>>>> _______________________________________________
>>>>>>> Haskell-Cafe mailing list
>>>>>>> Haskell-Cafe at haskell.org
>>>>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130928/b950efa5/attachment.htm>

More information about the Haskell-Cafe mailing list