Skip to content
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

Development plan #101

Open
anton-dutov opened this issue Feb 21, 2017 · 4 comments
Open

Development plan #101

anton-dutov opened this issue Feb 21, 2017 · 4 comments

Comments

@anton-dutov
Copy link

IMHO need to review project development model, currently project in stagnation, why? nothing working

Iliya worked on "ndslice", some times just renaming functions to better name, that is not important, use old libmir, but take working code (with stable API as possible), to attract developers.

Publish development plan, set tasks prio and all moves up.

Get typical tasks as basis.

e.g.

Typical task 1

  1. Read image from file
  2. Convert to grayscale
  3. Gausianblur (specify core) to remove noise
  4. Detect edges/counters/features
  5. Draw rect/circles/points to mark detected features
  6. Show result

Typical task 2

  1. Open Webcam
  2. loop
  3. take frame
  4. gryascale/gausian
    5 .compare to previous frame (enumerate diffs as array of regions?)
  5. save frame as previous
  6. filter regions smailer than WxH
  7. Draw filtered regions (highlight diffs)
  8. waitkey and goto 2.

Typical task 3.
....

Typical task 4
....

Which parts of this tasks alredy present in dcv/phobos? which need to implement? That is starting point to make development plan

@ljubobratovicrelja
Copy link
Member

Hi Anton! Thank you for taking interest in DCV, and for criticizing our work!

IMHO need to review project development model, currently project in stagnation, why? nothing working

There's a lot to be done, and we can safely say we barely initiated the project, but "nothing working"? Can you elaborate, what does not work among currently implemented features in dcv? Is there an example that you've tried and didn't work? Have you had problems compiling and linking to dcv?

You're right, the project is stagnating. I'm terribly occupied elsewhere, and almost completely out of the spare time to devote to dcv. Ilya is taking care of the library architecture, including support of the new ndslice package, but we're still not working on new features until we perform the API overhaul described in #87. And to be honest, we're definitely lacking in contributors, so I'd welcome you, and any other person willing to help out. But, I understand your point, and feel like we haven't presented the project to the public the right way yet, so I don't blame people for not being interested. (part about development model)

Typical task 1, 2, 3

What is your suggestion? We have presented examples here on github and on the site as well, do you feel those are not explanatory enough? Any concrete advice is appreciated! Btw. most of steps from tasks 1 and 2 are described in examples, IMHO.

Which parts of this tasks alredy present in dcv/phobos?

I'm not speaking for @9il and rest of Mir team when I say - I personally have no interest of joining dcv or it's modules to phobos. IMHO this type of library is too specialized to even get near the language's standard library. Simply it targets very small percentage of language's users, and by that has no point dwelling in phobos. I'm sure lot of core D developers would agree on this.

But, anyhow...

Publish development plan, set tasks prio and all moves up.

I agree on this one fully. Thank you for pointing this out!

@anton-dutov
Copy link
Author

Is there an example that you've tried and didn't work? Have you had problems compiling and linking to dcv?

So that's my fault, after upgrading to latest version and solving dependencies/ldc and use dub --compiler=ldmd2 (won't compile with dmd) most examples working, except videos

I'm not speaking for @9il and rest of Mir team when I say - I personally have no interest of joining dcv or it's modules to phobos.

There other meaning, trying use algorithms ( like map etc.) which already present in phobos

Currently i'm occupied too, but after about two month i'll have CV project, and should choose between d/dcv (and join to improve it) or switch back c++/opencv(sucks but rich), i prefer D but disoriented in dcv aims, roadmap notes is most basic

@ljubobratovicrelja
Copy link
Member

won't compile with dmd

Yes, dmd support has been cut for the moment, but will be back with merge of #99

most examples working, except videos

Please give us detailed feedback on this! I expected most users will have issues with video handling, and as it is noted in the example, this is the module where we'd need user feedback the most.
One of possible reasons for video handling not to work is that you're linking against wrong version of ffmpeg. Currently tested version is n2.6.7, but should also be upgraded on ffmpeg-d's side.

but after about two month i'll have CV project, and should choose between d/dcv (and join to improve it) or switch back c++/opencv(sucks but rich)

If it's a hobby project, than I would kindly ask you to try using dcv. You'll have my full support on dcv's side. But, if this is a production (commercial) code, I'd advise you not to use dcv at this stage. It's API will evolve significantly (hopefully in the next few months), which could potentially frustrate you, and endanger your project. We'll make notes about this in readme.

roadmap notes is most basic

You're right! Unfortunately, it is also inaccurate. What little time we have to work on dcv, we put in coding, and don't have time to deal with marketing stuff at the moment. But anyhow, thanks for pointing it out, we'll sort that out soon enough.

and join to improve it

One of main things I think is required for people for contribute is stable and consistent API, and visibly declared TODOs (and of course further info on contributing in CONTRIBUTIONS). At the moment, we have neither one. But we're working on the API, and once that's done I'll dedicate some serious time in the roadmap, and other marketing related stuff to attract people to contribute.

@anton-dutov
Copy link
Author

anton-dutov commented Feb 23, 2017

One of possible reasons for video handling not to work is that you're linking against wrong version of ffmpeg. Currently tested version is n2.6.7, but should also be upgraded on ffmpeg-d's side.

Issue looks like previous #14, just line cnahged

./video -l /dev/video0
core.exception.AssertError@../../source/dcv/core/image.d(170): Assertion failure

You're right ffmpeg version mater, not work with
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants