Jump to page: 1 2
Thread overview
New and Unofficial OpenCV binding for D programming language
Apr 04, 2019
Ferhat Kurtulmuş
Apr 05, 2019
Ferhat Kurtulmuş
Apr 05, 2019
Paolo Invernizzi
Apr 05, 2019
Ferhat Kurtulmuş
Apr 05, 2019
Paolo Invernizzi
Apr 06, 2019
Nicholas Wilson
Apr 05, 2019
Russel Winder
Apr 09, 2019
Ferhat Kurtulmuş
Apr 10, 2019
Andrea Fontana
Apr 12, 2019
Ferhat Kurtulmuş
April 04, 2019
Hi folks!

D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.
April 04, 2019
On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
> Hi folks!
>
> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.

Good work.

Can you please mention about the version of Ubuntu you developed it on? Also looks like you have committed the cmake temporary build directory to git, you may want to git rm. :)


April 05, 2019
On Thursday, 4 April 2019 at 23:53:08 UTC, Arun Chandrasekaran wrote:
> On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
>> Hi folks!
>>
>> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.
>
> Good work.
>
> Can you please mention about the version of Ubuntu you developed it on? Also looks like you have committed the cmake temporary build directory to git, you may want to git rm. :)

Thank you for appreciation. It is Ubuntu 18.04.2 LTS 64 bit. I built opencv 4 from source, it somehow did not create a pkgconfig file. I manually created one in /usr/lib/pkgconfig/opencv.pc:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The foo library
Version: 4.0.0
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_videoio -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_face -lopencv_datasets -lopencv_freetype -lopencv_objdetect -lopencv_img_hash -lopencv_xfeatures2d -lopencv_tracking


April 05, 2019
On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
> Hi folks!
>
> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.

Nice!

Version 3.x has an internal pointer in the mat struct, is that changed with 4.x?

- Paolo
April 05, 2019
To add to the pool of OpenCV activity, it is worth pointing out that GStreamer supports OpenCV and D has a binding to GStreamer via GStreamerD which is a part of GtkD.


On Thu, 2019-04-04 at 23:08 +0000, Ferhat Kurtulmuş via Digitalmars-d-announce wrote:
> Hi folks!
> 
> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.
-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk



April 05, 2019
On Friday, 5 April 2019 at 07:56:42 UTC, Paolo Invernizzi wrote:
> On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
>> Hi folks!
>>
>> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.
>
> Nice!
>
> Version 3.x has an internal pointer in the mat struct, is that changed with 4.x?
>
> - Paolo

It still has it, if you what you mean:

Mat Mat_FromArrayPtr(int rows, int cols, int type, void* data){
    return new cv::Mat(rows, cols, type, data);
}
April 05, 2019
On Friday, 5 April 2019 at 13:19:22 UTC, Ferhat Kurtulmuş wrote:
> On Friday, 5 April 2019 at 07:56:42 UTC, Paolo Invernizzi wrote:
>> On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
>>> Hi folks!
>>>
>>> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.
>>
>> Nice!
>>
>> Version 3.x has an internal pointer in the mat struct, is that changed with 4.x?
>>
>> - Paolo
>
> It still has it, if you what you mean:
>
> Mat Mat_FromArrayPtr(int rows, int cols, int type, void* data){
>     return new cv::Mat(rows, cols, type, data);
> }

No, I mean that the Mat structure has a MatSize MatStep member with pointers to the struct data itself.

Until we have copy ctors, D can't have structures with internal pointers, as they can be moved... that's something similar in C++ string, if I remember well, and that was the blocker that leaded to the copy ctors DIP...

- P
April 05, 2019
On Friday, 5 April 2019 at 15:52:42 UTC, Paolo Invernizzi wrote:
> On Friday, 5 April 2019 at 13:19:22 UTC, Ferhat Kurtulmuş wrote:
>> On Friday, 5 April 2019 at 07:56:42 UTC, Paolo Invernizzi wrote:
>>> On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
>>>> [...]
>>>
>>> Nice!
>>>
>>> Version 3.x has an internal pointer in the mat struct, is that changed with 4.x?
>>>
>>> - Paolo
>>
>> It still has it, if you what you mean:
>>
>> Mat Mat_FromArrayPtr(int rows, int cols, int type, void* data){
>>     return new cv::Mat(rows, cols, type, data);
>> }
>
> No, I mean that the Mat structure has a MatSize MatStep member with pointers to the struct data itself.

I was writing a binding to OpenCV 3.x a while ago and now I know why I got blocked. :|

April 06, 2019
On Friday, 5 April 2019 at 15:52:42 UTC, Paolo Invernizzi wrote:
> Until we have copy ctors, D can't have structures with internal pointers, as they can be moved... that's something similar in C++ string, if I remember well, and that was the blocker that leaded to the copy ctors DIP...

That lead to the acceptance of DIP1014 (opPostMove) not 1018. Its a move problem not a copy problem.
April 09, 2019
On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:
> Hi folks!
>
> D is awesome, but it is a shame that there is no any opencv bindings for d yet. Actually we have it now :) Although I am a new dlang learner, I dared to do it: https://github.com/aferust/opencvd. C interface was taken from gocv, and the implementation has been highly influenced by gocv (maybe it is better to make git submodule it, since gocv project is being updated very often?). I admit that it is far from being a complete binding, but it is a beginning. I invite you lovely and pro dlang community to grow it. I did not want to add it to code.dlang.org before it become a better binding.

Since I could build the library on Windows 10 in addition to Ubuntu, I have decided to put it on code.dlang.org: https://code.dlang.org/packages/opencvd.
« First   ‹ Prev
1 2