Laex / Delphi-OpenCV

Project Delphi-OpenCV. Translation of OpenCV library header files in Delphi
507 stars 226 forks source link

opencv_classes300 dll #35

Closed megajack991 closed 3 years ago

megajack991 commented 9 years ago

Доброго дня! opencv_classes300d.dll отсутствует в поставке- это работа с opencv версии 3 не до конца реализована?

Laex commented 9 years ago

Рефакторинг библиотеки... Требуется время...

megajack991 commented 9 years ago

Добрый день! Не продвинулись дела в этом направлении?

Laex commented 9 years ago

Под 3.0 у меня не работает камера Microsoft LifeCam HD-3000. Разбираюсь...

megajack991 commented 8 years ago

Доброго дня! А с чем связано закрытие тикета? Реализовано или не будете этим заниматься?

Laex commented 8 years ago

Вот жеж... Думал по тихому закрою... Год в засаде... Всяческое уважение Вам :) Если честно - совесть замучила. Обещал - не сделал. Времени не хватает, работы много.

megajack991 commented 8 years ago

Ну вот, а я уж успел обрадоваться.. :) В любом случае- огромная благодарность за Вашу работу!

BursterTIL commented 5 years ago

Я бы вот тоже хотел узнать, как там дела обстоят с поддержкой в Delphi, хотя бы 3-й версии OpenCV? Тишина, правда тут уже почти три года.

Laex commented 5 years ago

Наверное надо уже рассматривать версию 4.х. В репозитарии есть начало для 3.х. Можно посмотреть, что там не так все просто. Перевод вручную - очень долго. Хотя есть куда подумать (например, https://github.com/FMXExpress/swig-delphi). Надо непрерывно около месяца. Такого времени пока нет.

BursterTIL commented 5 years ago

Да, 4-х. Но про неё я и не говорю. Она появилась ведь позже. А перевод версии 2.4.х происходил не вручную?

BursterTIL commented 5 years ago

Не очень понял про начало для версии 3.х. Где оно есть?

Laex commented 5 years ago

Перевод с С на Object Pascal - просто. Перевод классов С++ требует написание на С++ оболочек с интерфейсом на С, размещение их в proxy-DLL, а к ним уже код на Object Pascal.

Начало версии 3.х https://github.com/Laex/Delphi-OpenCV/tree/master/source/classes https://github.com/Laex/Delphi-OpenCV/tree/master/source/opencv_classes

BursterTIL commented 5 years ago

Я так и предполагал. Не очень правда понятно, почему в 3-й версии они ушли с С на С++ классы. Видимо с целью снизить возможность портировать вызовы на другие языки.

Laex commented 5 years ago

Как раз с другими языками проблем нет. Как были интерфейсы, так и остались. Просто Delphi идет своим путем...

BursterTIL commented 5 years ago

А, что для Lazarus есть поддержка 3-й версии, или для Freepascal?

Laex commented 5 years ago

Не, не... И Delphi и FreePascal. Для FreePascal и версии 2.4.13 что-то не встречал.

BursterTIL commented 5 years ago

Да вот я и говорю, что pas как-то обошли стороной. Не залуженно. За чем-то перейдя на С++ классы. Собственно вопрос у меня возник потому что в Opencv есть ф-ция дебайеринга. Не сказать, что она реалзиует множество алгоритмов, но тем не менее. А в 3-й версии она я так понял, ещё работает на CUDA.

BursterTIL commented 5 years ago

А не подскажите, какие ф-ции нужно копать чтобы найти одно изображение в другом? Например есть шаблон (небольшое изображение), и его нужно отыскать на большом изображении. Может пример где есть для Delphi есть?

Laex commented 5 years ago

Delphi-OpenCV\samples\LibDemo\cvMatchTemplate\ Delphi-OpenCV\samples\LibDemo\cvExtractSURF\

jimkleine commented 4 years ago

I am interested in contributing to an OpenCV 4 conversion, but it is difficult for me to participate in Russian. I have translated and read the existing comments above, so I now have a basic understanding of why this has not already been done. Is anyone else interested in working on this?

BursterTIL commented 4 years ago

I am sure many are interested in supporting OpenCV 4 at Delphi

With best regards, Ilya.

I am interested in contributing to an OpenCV 4 conversion, but it is difficult for me to participate in Russian. I have translated and read the existing comments above, so I now have a basic understanding of why this has not already been done. Is anyone else interested in working on this? — You are receiving this because you commented. Reply to this email directly, view it on GitHub , or unsubscribe .

--

jimkleine commented 4 years ago

My question was really directed towards learning whether anyone would like to coordinate this effort? I don't yet have a detailed understanding of the major roadblocks/difficulties in moving to a later OpenCV release and I was hoping someone might be able to sketch out a high-level overview. As a starting point, should I open a new issue for an OpenCV 4 port (it probably makes sense to skip v3 at this point unless that would somehow make a port to v4 easier)?

BursterTIL commented 4 years ago

As far as, in order to switch to the 4th version, it is necessary to create an intermediate dll wrapper to port C classes to normal C calls.

My question was really directed towards learning whether anyone would like to coordinate this effort? I don't yet have a detailed understanding of the major roadblocks/difficulties in moving to a later OpenCV release and I was hoping someone might be able to sketch out a high-level overview. As a starting point, should I open a new issue for an OpenCV 4 port (it probably makes sense to skip v3 at this point unless that would somehow make a port to v4 easier)? — You are receiving this because you commented. Reply to this email directly, view it on GitHub , or unsubscribe .

--

jimkleine commented 4 years ago

Is that requirement dependent upon a minimum supported Delphi version i.e. is it not necessary for later Delphi versions? Is there a view on which Delphi versions we should aim to support for OpenCV 4?

BursterTIL commented 4 years ago

From Delphi-7 and higher.

Is that requirement dependent upon a minimum supported Delphi version i.e. is it not necessary for later Delphi versions? Is there a view on which Delphi versions we should aim to support for OpenCV 4? — You are receiving this because you commented. Reply to this email directly, view it on GitHub , or unsubscribe .

--

jimkleine commented 4 years ago

@BursterTIL Was that a response to my question about which Delphi versions to support (currently 2010+ in this project's ReadMe, although I do have a D7 licence), or are you suggesting that the header conversion process will be the same for all Delphi versions after D7?

jimkleine commented 4 years ago

@BursterTIL You also asked (above) about Free Pascal/Lazarus support. Can you give me a quick overview of what we would need to consider/change/add from a Delphi port to make it Lazarus-compatible?

blaisexen commented 4 years ago

@Laex @ALL

I have tried using OpenCV – 3.4.5 to OpenCV – 3.4.9, it works with x86 Only but few of the functions are removed.

My aimed is to have a 1 DLL file OpenCv like OpenCv_World!

I tried to compiled from source, and I got it, but I didn't used it because as I said there are some functions does not work anymore like webcam output.

I had never test OpenCv_4.X.X, because I know it's x64 bit.

Just sharing some infos to you guys, thanks

BursterTIL commented 4 years ago

Header files will be different for D7 from 2010. If there 's OpenCV 4 support for Delphi 2010, that 's just as good.

@BursterTIL Was that a response to my question about which Delphi versions to support (currently 2010+ in this project's ReadMe, although I do have a D7 licence), or are you suggesting that the header conversion process will be the same for all Delphi versions after D7? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .

--

BursterTIL commented 4 years ago

When I was looking for OpenCV support for Delphi and I didn 't find it, I decided to find it for Lazarus. But I mostly work in Delphi-7 right now. Sometimes I work for Emarcadero RAD XE5 and Emarcadero RAD XE5

@BursterTIL You also asked (above) about Free Pascal/Lazarus support. Can you give me a quick overview of what we would need to consider/change/add from a Delphi port to make it Lazarus-compatible? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .

--

BursterTIL commented 4 years ago

But, OpenCv _ 4.X.X exists only for 32 bits?

@Laex @ALL I have tried using OpenCV – 3.4.5 to OpenCV – 3.4.9, it works with x86 Only but few of the functions are removed. My aimed is to have a 1 DLL file OpenCv like OpenCv_World! I tried to compiled from source, and I got it, but I didn't used it because as I said there are some functions does not work anymore like webcam output. I had never test OpenCv_4.X.X, because I know it's x64 bit. Just sharing some infos to you guys, thanks — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .

--

jimkleine commented 4 years ago

@blaisexen Thanks for your comments. Given that OpenCV supports all of the Delphi platforms (Windows/MacOS/Android/iOS/Linux), that would be an admirable goal, but might be a bit too ambitious for a first attempt, although it is probably something we should keep in mind. Some brief research on OpenCV's evolution leads me to two key points:

  1. OpenCV's API has evolved from C to C++ (and the older C APIs have been deprecated), which may make cross-version compatibility difficult; and

  2. @BursterTIL : I don't see anything in the OpenCV 4.2.0 release notes deprecating x86 (32-bit), but Nvidia appears to have dropped x86 support for CUDA, and some of the CPU vector extensions (AVX etc) have automatic support (when available on the CPU) if you build for an x64 target, so it looks like x86 support will get harder/less performant in the future. The future of most platforms is 64-bit (MacOS no longer supports x86 and we now have 64-bit on Android/iOS).

BursterTIL commented 4 years ago

When it comes to supporting only x64 OpenCV for Delphi, it is necessary to set attention to Embarcadero RAD XE2 and higher. These versions are excellent for x64.

@blaisexen Thanks for your comments. Given that OpenCV supports all of the Delphi platforms (Windows/MacOS/Android/iOS/Linux), that would be an admirable goal, but might be a bit too ambitious for a first attempt, although it is probably something we should keep in mind. Some brief research on OpenCV's evolution leads me to two key points:

  • OpenCV's API has evolved from C to C++ (and the older C APIs have been deprecated), which may make cross-version compatibility difficult; and

  • @BursterTIL : I don't see anything in the OpenCV 4.2.0 release notes deprecating x86 (32-bit), but Nvidia appears to have dropped x86 support for CUDA , and some of the CPU vector extensions (AVX etc) have automatic support (when available on the CPU) if you build for an x64 target, so it looks like x86 support will get harder/less performant in the future. The future of most platforms is 64-bit (MacOS no longer supports x86 and we now have 64-bit on Android/iOS). — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .

--

jimkleine commented 4 years ago

@BursterTIL I have been trying to work out why this project's current minimum Delphi version is 2010, but I don't actually see a commit comment removing e.g. D7 support (2010/XE and x64 support seems to have been added in September 2014). Do you know if this related to Unicode?

BursterTIL commented 4 years ago

I think it 's not just about unicode. This may also be due to the ability to compile programs for win64. D7 and D2010 are just as different. But it is not cardinal.

@BursterTIL I have been trying to work out why this project's current minimum Delphi version is 2010, but I don't actually see a commit comment removing e.g. D7 support (2010/XE and x64 support seems to have been added in September 2014). Do you know if this related to Unicode? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .

--

HuguesDug commented 4 years ago

Any news of what would be a huge step forward, getting it to work with most recent OpenCV versions ?

BursterTIL commented 4 years ago

I didn't really understand. What did you mean?   With best regards, Ilya.  

  Any news of what would be a huge step forward, getting it to work with most recent OpenCV versions ? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .    

 

HuguesDug commented 4 years ago

Hello Ilya,

The OpenCv_Classes300.dll topic is in the air since quite a while. Stop of support for 2.4 version of OpenCV leads to a concern for all users of the current wrapper. Do you think the classes300.dll will exist in the future ? Do you have a roadmap for that ?

A lot of the functions in the world30.dll works if called with your current wrapper already. The main issue I got when trying to move to OpenCv 3 with all functions using strings.

BursterTIL commented 4 years ago

I think the classes 300.dll will exist in the future   With best regards, Ilya  

  Hello Ilya, The OpenCv_Classes300.dll topic is in the air since quite a while. Stop of support for 2.4 version of OpenCV leads to a concern for all users of the current wrapper. Do you think the classes300.dll will exist in the future ? Do you have a roadmap for that ? A lot of the functions in the world30.dll works if called with your current wrapper already. The main issue I got when trying to move to OpenCv 3 with all functions using strings. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub , or unsubscribe .