On Saturday, 27 November 2021 at 11:14:27 UTC, Salih Dincer wrote:
> Bir ekleme daha:
Ndslice'ı kullanan başka bir örneği derlediğimde de dcv.core'un içindeki algorithm.d'nin 25. satırında mir.ndslice.algorithm : reduce, each import edilmiş...
İyi de zaten mir'in içinde ayrı bir algorithm varken niye ndslice içinden bir yönlendirme yapılmış. Çok tuhaf!
Merhaba Salih,
Bu mesajı biraz geç gördüm üzgünüm. O repoyu sildim. Derlenebilir kütüphane şu anda şurada:
https://github.com/aferust/dcvrev
Sıfırdan herhangi birşey yazdım sayılmaz. Sadece Phobos ve Mir kütüphanelerindeki güncel değişikliklere göre derleyiciyi memnun ederek DCV'yi derlenebilir hale getirdim. opengl ve glfw için bindbc kütüphanelerini bağımlılık olarak belirledim. FFMPEG'in son sürümünün D headerlarını oluşturdum (Bu, dstep'e rağmen epey uğraştırdı). Şu anda sadece stereo vision modülü derlenemiyor, onu unrevised içine taşıdım. Video kısmını ayrı bir subPackage yaparak ayırdım. Çünkü sadece basit bir filtre kullanacak birinin FFMPEG ile uğraşmasının anlamı yok. Algoritmaların tamamına hakim olmadığımdan yeni maintainer olmak istemiyorum. Genellikle görüntü işleme kütüphanelerinin kullanıcısı oldum, geliştireni değil. Ama daha önce D'ye yeni başladığımda "regionprops" (ikili görüntüde ayrık bölge analiz ve istatistikleri.) kütüphanesini sağdan soldan biraz kod çalarak yazmıştım, kod tabanı acemice birçok şey içeriyor. Sanırım bunu mir dilimleri ve dcv tiplerine göre birazda yeni tecrübelerimi katarak yeniden yazıp dcv'ye yeni bir modül olarak katacağım.
Yeni repoyu derlemeye çalışıp aldığın hataları benimle paylaşırsan yardımcı olmaya çalışabilirim. Mesela tested-examples içinde şu an iki tane çalışacağını umduğum test dosyası var. Test projende bağımlılıkları yerel olarak alttaki gibi tanımla, filters-test.d için "dcv:core" yeterli. Video kullanılmadığında glfw3.dll den başka runtime bağımlılık yok. Henüz posix işletim sistemlerinde denemedim, sadece windowsta deniyorum, posix için dcv'nin dub.json'nında bazı eklemeler gerekebilir.
"dcv:core": {"path": "D:/projects/d_projects/dub/packages/dcvrev"},
"dcv:video": {"path": "D:/projects/d_projects/dub/packages/dcvrev"}
Kütüphanenin orijinal yazarları hoşuma gitmeyen birşey yapmışlar ve çoğu fonksiyon Slice! tiplerini kabul ediyor. Bence opencv'deki gibi evrensel bir cv::Mat tipi olmalıydı ve ortalıkta dolaşan tip bu olmalıydı. Bir Image tipi var ama çoğu fonksiyon halihazırda Image'in kapsüllediği Slice'ı kabul ediyor veya döndürüyor.
Selamlar