Selamunaleküm
Nedenini anlamadığım bir şekilde open cv kullanarak basit bi obje tanımlakou çalıştırmak isityordum ama izlediklerimin aynısını yapmama rağmen veya direk github dan kodu almama rağmen fazladan kare tanımlıyor bunun nedeni acaba nedir(windowsta düzgün çalıştı) yüklemediğim bir kütüphaneden midir
Şimdi Ubuntu 20 LTS kullandığım için hemen orada denedim ve çalıştı.
conda ile bir ortam hazırladım. Dolayısıyla sizin durumunuzdan farklı olabilir. Python sürümü 3.8.10. Ardından numpy ve opencv kurdum. OpenCV versiyonu da 4.5.3. Numpy versiyonu 1.21.5.
Python, OpenCV ve numpy versiyonlarını kontrol edin, gerekiyorsa güncelleyip yeniden deneyin. Python için: python --version
Eğer 2.7 derse, python3 --version ile deneyin.
OpenCV için ise python -c "import cv2; print(cv2.__version__)" yazıp çalıştırın. Bunun aynısını numpy için de yapabilirsiniz: python -c "import numpy; print(numpy__version__)"
Bence siz de miniconda ortamı oluşturup uygulamayı onun içerisinde çalıştırın. Böylece istediğiniz python sürümünü kurabilirsiniz. Python 3.9 kullandığınızda çalışıyorsa, sorun modelde değildir. numpy burada eğitim yada tahmin için kullanılmıyor; siz zaten eğitilmiş bir model kullanarak tahminde bulunmasını istiyorsunuz. Dolayısıyla bence fark/sorun, opencv sürümünde yada onun kullandığı başka kütüphanelerde. Belki modeli doğru yükleyemiyordur. Sürekli aynı sınıfı bulmuş; hep “car” diyor. Ancak çizdiği çevreleme kutuları tuhaf, özellikle %99.93 güvenle tahminde bulunduğu kutu ilginç.
bu çıktı anacondada opencv yüklemeye çaışınca çıktı
terminalden anaconda kullanrak yüklemeye çalıştığımda kaç saattir yükyemedi halbuki pip ile kısa zamanda yüklenmişti
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- py-opencv -> python[version='>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']
Your python: python=3.9
If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.
The following specifications were found to be incompatible with your system:
- feature:/linux-64::__glibc==2.31=0
- py-opencv -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
- python=3.9 -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
Your installed version is: 2.31
büyük ihtimaldediğiniz gibi versiyon uymsuzluğu var ama bunu nasıl çözebilirim
Çünkü python3, 3.6, 3.9, 3.10 sürümleriyle bir kaç farklı opencv kütüphanesini yükleyip denemeye çalıştım ama hep aynı hatayı verdi bir de sadece bu proje için de değil bir kaç tane daha projede denemiştim(bir başka nedeni windows kullanan birine aynı kodu göndredim onda 3.9 yüklüydü ama onda çalıştı)
bu çözüm şimdilik benim işimi gördü,zaten küçük bi ödev için bakıyordum ama ilerde başkası (belki ben de) yeni versiyonlarda nasıl çözüleceği gerekli olabilir çünkü 2.* sürüm için destek bırakıldı hatta 3.6 için 2021-12-23 tarihinde destek bitmiş
bilen arkadaşlar varsa yazarsa çok iyi olur
bunu diyerek yülemeyapabilirsiniz istresniz kuodun en sonuna -j 3 gibi bir parametre vererek istediğiniz kadar ekirdeği kullanmasına izin verebilirsiniz(3 → 3çekirdek)
Sorunun çözüldüğüne sevindim. Benim çok da yardımım olmadı, kendi araştırmalarınızın katkısı daha büyük.
Bahsettiğim gibi, miniconda ile Python 3.8 ortamı oluşturup üzerine opencv 4.5.3 kurduğumda çalıştı. Eğer Python 3.8 de çalışmadıysa, conda ortamınınızda sorun olabilir. 3.9 ile denemedim, yarın ona da bakabilirim.