2016-03-31 33 views
0

Ayrıca OPENCV (Computer Vision Library) kullanan bir web2Py API oluşturmaya çalışıyorum. OPENCV yükleme yöntemini yerel bir makinedeki bir klasörde test ettim (kod çalışıyor). Web2Py uygulamam için varsayılan denetleyicide bir yöntem oluştururken, kod çalışır, ancak kaset, .xml dosyası, uygulama denetleyicisi altındaki default.py ile aynı klasörde yer almasına rağmen yüklenmez. İzinleri kontrol ettim ve .xml dosyasındaki tüm izinleri etkinleştirdim (sorun görünmüyor). Dosyayı farklı bir yere yerleştirmem gerekiyor mu?Hatalar Harici Dosyayı Web2Py Denetleyici Yöntemine Yükleme

face_cascade = cv2.CascadeClassifier ('haarcascade_frontalface_default.xml')

no_classifier = face_cascade.empty()

kaskad her zaman boş için doğru döner (yüklenmesini değildi).

Yardımlarınız için teşekkürler.

+0

Kasayı yüklemeyi denediğiniz anda çalışma dizini nedir? Mutlak bir yol kullanırsanız ne olur? –

+0

Dan: Cevabınız için teşekkürler. Bunu bir çevrimiçi hizmet üzerinde çalıştırıyorum, bu nedenle geçerli çalışma dizinini söylemek zor. Cevap verip veremeyeceğimi görmek için birkaç kontrol yapacağım. Dosyaları özel klasöre koymak ve Anthony'nin cevabı gibi tam yolu inşa etmek işe yaradı. Birkaç göreceli yol denedim ama çalışma dizininden emin değildim. – JJSanDiego

cevap

2

Python çalışma dizini, denetleyiciyi içeren klasör olmayacaktır. Genel olarak, dosyaya tam yolu basitçe inşa etmek en iyisidir. Ayrıca, bu dosyaları uygulamanın/özel klasöre koymanız da önerilir:

import os 
    filepath = os.path.join(request.folder, 'private', 
          'haarcascade_frontalface_default.xml') 
    face_cascade = cv2.CascadeClassifier(filepath) 
+0

Anthony, bu tam olarak doğru. Yardım için teşekkürler. Bununla ilgili daha fazla şey öğrenebileceğim iyi bir kaynak biliyor musunuz? Tekrar teşekkürler! – JJSanDiego

İlgili konular