يبدو أن SimpleCV لا يعمل مع Python3. نظرًا لأنه يتم التخلص التدريجي من Python2 ، آمل أن يتم إصلاح هذا قريبًا إلى حد ما.
هذا ما أحصل عليه مع تثبيت sudo pip3 SimpleCV:
Running setup.py install for SimpleCV
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/DrawingLayer.py", line 40
def __init__(self, (width, height)):
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/base.py", line 139
print 'unit test'
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Color.py", line 213
print a
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/BOFFeatureExtractor.py", line 68
print "Opening file: " + infile
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/Blob.py", line 876
print self.mHullMask
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/BlobMaker.py", line 97
except RuntimeError,e:
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/EXIF.py", line 1182
y = 0L
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Font.py", line 68
print "Please pass a string"
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/TreeClassifier.py", line 190
print "Opening file: " + infile
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/SVMClassifier.py", line 181
print "Opening file: " + infile
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/NaiveBayesClassifier.py", line 120
print "Opening file: " + infile
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/KNNClassifier.py", line 153
print "Opening file: " + infile
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Stream.py", line 62
except socket.error, e:
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/ImageClass.py", line 132
print "You need to install Beatutiul Soup to use this function"
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Camera.py", line 363
print "coord: (" + str(d.mouseX) + "," + str(d.mouseY) + "), color: " + str(i.getPixel(d.mouseX,d.mouseY))
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_display.py", line 80
print val
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/YCrCbtests.py", line 6
print "Converted to YCrCb\n"
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/vcamera_tests.py", line 19
print str(i) + ": " + str(props[i]) + "\n"
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_cameras.py", line 17
print str(i) + ": " + str(props[i]) + "\n"
^
SyntaxError: invalid syntax
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/tests.py", line 74
print val
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_optional.py", line 91
print foundtext
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_stereovision.py", line 54
print val
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Shell.py", line 71
print "args", arg
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Example.py", line 28
print "Available Examples:"
^
SyntaxError: Missing parentheses in call to 'print'
File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Tutorial.py", line 35
print lb
^
SyntaxError: Missing parentheses in call to 'print'
إذا كانت الأقواس المفقودة هي الشيء الوحيد المطلوب للترحيل ، فسيكون هذا حلًا سهلاً. سأحاول استشارة خبير في الهجرة لمعرفة الشواغل الأخرى التي قد تكون هناك.
لتصحيح بعض الأشياء: Python2 ، أو بشكل أكثر دقة ، Python27 لا يتم التخلص منها تدريجياً - هناك بعض المحاولات اللائقة من مصادر مختلفة للقيام بذلك ، لكن أولئك الذين يعرفون ما يفعلونه في العالم ، لا يتزحزحون الضغط. Python3X مقارنةً بـ Python27 هو طن أكثر إرباكًا وغرابة وإحباطًا ، وليس شيئًا أوصي به لبرمجة المبتدئين. ما عليك سوى المضي قدمًا وجرب Python27 ، وثق بي عندما أقول ، أنك ستحبها (إلا إذا اعتدت على العديد من الوظائف الخاصة بـ Python3X ، ودعني أخبرك ، ليس هناك الكثير منها)
تحرير: هذا بيان عمره بضع سنوات ، سأحتفظ به هنا ، لكنه لم يعد صالحًا بعد الآن.
سينتهي دعم Python 2.7 في عام 2020 ، لذلك أعتقد أنه مصدر قلق صحيح. أشعر أن استيراد العقود الآجلة هو طريقة بسيطة لإعادة تشكيل أخطاء بيان الطباعة. هل يعرف أي شخص ما الذي يجب تغييره أيضًا لتمكين التوافق إلى الأمام؟
mUtterberg هناك أيضًا ترقية OpenCV2 إلى OpenCV3 التي يجب أن يخضع لها إطار عمل SimpleCV.
أنا جديد على Python وآمل أن أبدأ ببعض ترميز الكاميرا / الرؤية على Raspberry Pi الخاص بي. لقد قمت بتثبيت OpenCV 3.4.1 بالفعل (أخيرًا) لكنني أعتقد أن simpleecv سيكون نقطة انطلاق أفضل.
لكن يبدو أن موقع simpleecv قديم جدًا وكما رأينا أعلاه ، لن يعمل التثبيت بشكل صحيح مع Python 3.
لقد حاولت تثبيت simpleecv ولكن عندما أحاول تشغيل simpleecv من سطر الأوامر ، أحصل على نفس أخطاء الطباعة كما هو مذكور أعلاه. لقد حاولت إصلاحها عن طريق إضافة الأقواس إلى كود Python ولكن بعد ذلك بدأت في تلقي العديد من أخطاء "الاستيراد" عندما أحاول تشغيل simpleecv.
لا أعرف مدى صعوبة تحديث simpleecv للعمل على Python3 ، لكنني بالتأكيد سأقدر تجربته إذا / عندما يحدث ذلك.
فيما يلي الأخطاء التي أحصل عليها الآن ...
pi @ raspberrypi : ~ $ simpleecv
RuntimeError: تم تجميع الوحدة النمطية مقابل إصدار API 0xc ولكن هذا الإصدار من numpy هو 0xa
Traceback (آخر مكالمة أخيرة):
ملف "/ usr / local / bin / simpleecv" ، السطر 7 ، بتنسيق
من SimpleCV.Shell import main
ملف "/usr/local/lib/python3.5/dist-packages/SimpleCV/__init__.py" ، السطر 3 ، في
من استيراد SimpleCV.base *
ملف "/usr/local/lib/python3.5/dist-packages/SimpleCV/base.py" ، السطر 26 ، في
استيراد scipy.ndimage كـ ndimage
ملف "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/__init__.py" ، السطر 161 ، في
من استيراد الفلاتر *
ملف "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/filters.py" ، السطر 37 ، في
من عند . استيراد _nd_image
ImportError: فشل استيراد numpy.core.multiarray
chrisgavinlondon ، يبدو أن Sight Machine قد تخلت عن هذه المكتبة ، ولكن هناك العديد من مفترقاتها. انتهى بي الأمر بتقسيمه وقمت بتغييره لدرجة أنه يمكنني تثبيته وتشغيله على Raspberry Pi الخاص بي ، والذي يتم تعيينه افتراضيًا على Python 2.7. كانت الأخطاء من منظور 2.7 عبارة عن إصلاحات سهلة للغاية بمجرد تشغيل إصدار fork الخاص بي. أنا أعمل على تطويره إلى إصدار حديث من Python ، لكنني متأكد من أن الآخرين قد عملوا على شوكاتهم الخاصة لفترة أطول بكثير مما لدي! في هذه المرحلة ، قد يكون من الأفضل لنا اختيار شوكة صلبة لشخص ما وأخذ حفلة SimpleCV الخاصة بنا هناك.
لكن من يعلم؟؟ ربماandrewbaldockbremacdemaagdkdoclrogersidfarmermechirisoostendostruckmannk أوxamox سوف نرى واحدة من هذه المواضيع وتقرر أن الناس في حلقة للمساعدة! إن الحفاظ على مكتبة ، خاصة تلك الكبيرة ، يتطلب الكثير من العمل.
مرحباmUtterberg ... بلدي تفرع حاولوا نقل SimpleCV من Python2 إلى Python3. لقد أصلحت معظم المشكلات. المانع الرئيسي حاليًا هو معالجة البيانات الداخلية. يستخدم SimpleCV 3 قنوات (RGB) iplimage داخليًا كإعداد افتراضي ، ولكن يتم إهمال iplimage. يوصى باستخدام numpy.ndarray بدلاً من ذلك ، لكنني لم أجد الوقت لنقل أي رمز. أنا على استعداد للمساعدة إذا كان لديك (أو أي شخص آخر) أسئلة.
مرحباmUtterberg ... بلدي تفرع حاولوا نقل SimpleCV من Python2 إلى Python3. لقد أصلحت معظم المشكلات. المانع الرئيسي حاليًا هو معالجة البيانات الداخلية. يستخدم SimpleCV 3 قنوات (RGB) iplimage داخليًا كإعداد افتراضي ، ولكن يتم إهمال iplimage. يوصى باستخدام numpy.ndarray بدلاً من ذلك ، لكنني لم أجد الوقت لنقل أي رمز. أنا على استعداد للمساعدة إذا كان لديك (أو أي شخص آخر) أسئلة.
مرحبًا mUtterberg ، أريد فقط استخدام SimpleCV للعثور على دائرة ، هل يمكنك استخدام مفترق
+1
Python 2 غروب الشمس رسميًا. هل هناك أي خطط لجعل Simpleecv python 3 متوافق؟ إنها حزمة رائعة وسهلة الفهم. شكرا.
jairoareyes انتهى بي الأمر باستخدام OpenCV نفسه ، حيث أن الإصدارات الأخيرة من python api أكثر حدسية واجهة برمجة تطبيقات تابعة لجهة خارجية.
التعليق الأكثر فائدة
مرحباmUtterberg ... بلدي تفرع حاولوا نقل SimpleCV من Python2 إلى Python3. لقد أصلحت معظم المشكلات. المانع الرئيسي حاليًا هو معالجة البيانات الداخلية. يستخدم SimpleCV 3 قنوات (RGB) iplimage داخليًا كإعداد افتراضي ، ولكن يتم إهمال iplimage. يوصى باستخدام numpy.ndarray بدلاً من ذلك ، لكنني لم أجد الوقت لنقل أي رمز. أنا على استعداد للمساعدة إذا كان لديك (أو أي شخص آخر) أسئلة.