Tampaknya SimpleCV tidak berjalan dengan Python3. Karena Python2 sedang dihapus, saya harap ini segera diperbaiki.
Inilah yang saya dapatkan dengan Sudo pip3 install 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'
Jika parens yang hilang adalah satu-satunya hal yang diperlukan untuk bermigrasi maka ini akan menjadi perbaikan yang mudah. Saya akan mencoba berkonsultasi dengan pakar migrasi untuk melihat kekhawatiran lain apa yang mungkin ada.
Untuk mengoreksi Anda pada beberapa hal: Python2, atau lebih tepatnya, Python27 tidak sedang dihapus - ada beberapa upaya yang layak dari berbagai sumber untuk melakukannya, tetapi mereka yang tahu apa yang mereka lakukan, jangan mengalah di bawah tekanan. Python3X dibandingkan dengan Python27 jauh lebih membingungkan, aneh, dan membuat frustrasi, bukan sesuatu yang saya sarankan untuk pemrograman pemula. Silakan coba Python27, dan percayalah ketika saya mengatakan, bahwa Anda akan menyukainya (kecuali jika Anda terbiasa dengan banyak fungsi khusus Python3X, dan izinkan saya memberi tahu Anda, tidak banyak dari itu)
Sunting: Ini adalah pernyataan lama beberapa tahun, saya akan menyimpannya di sini, tetapi tidak valid lagi.
Dukungan untuk Python 2.7 akan berakhir pada tahun 2020, jadi saya pikir ini adalah masalah yang valid. Saya merasa mengimpor futures adalah cara sederhana untuk memperbaiki kesalahan pernyataan cetak. Adakah yang tahu apa lagi yang perlu diubah untuk mengaktifkan kompatibilitas ke depan?
@mUtterberg Ada juga upgrade OpenCV2 ke OpenCV3 yang harus dilakukan oleh kerangka kerja SimpleCV.
Saya baru mengenal Python dan berharap untuk memulai dengan beberapa pengkodean kamera/penglihatan di Raspberry Pi saya. Saya sudah menginstal OpenCV 3.4.1 (Akhirnya) tapi saya pikir simplecv akan menjadi titik awal yang lebih baik.
Tetapi situs web simplecv tampaknya cukup ketinggalan zaman dan seperti yang terlihat di atas, penginstalan tidak akan berfungsi dengan baik dengan Python 3.
Saya sudah mencoba menginstal simplecv tetapi ketika saya mencoba menjalankan simplecv dari baris perintah, saya mendapatkan semua kesalahan cetak yang sama seperti di atas. Saya telah mencoba memperbaikinya dengan menambahkan tanda kurung ke kode Python tetapi kemudian saya mulai mendapatkan berbagai kesalahan 'impor' ketika saya mencoba menjalankan simplecv.
Saya tidak tahu betapa sulitnya memperbarui simplecv untuk bekerja di Python3, tetapi saya pasti akan menghargai mencobanya jika/ketika itu terjadi.
Di bawah ini adalah kesalahan yang saya dapatkan sekarang ...
pi@raspberrypi :~ $ simplecv
RuntimeError: modul dikompilasi terhadap API versi 0xc tetapi versi numpy ini adalah 0xa
Traceback (panggilan terakhir terakhir):
File "/usr/local/bin/simplecv", baris 7, di
dari SimpleCV.Shell impor utama
File "/usr/local/lib/python3.5/dist-packages/SimpleCV/__init__.py", baris 3, di
dari impor SimpleCV.base *
File "/usr/local/lib/python3.5/dist-packages/SimpleCV/base.py", baris 26, di
impor scipy.ndimage sebagai ndimage
File "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/__init__.py", baris 161, di
dari .filter impor *
File "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/filters.py", baris 37, di
dari . impor _nd_image
ImportError: numpy.core.multiarray gagal diimpor
@chrisgavinlondon , Mesin Penglihatan tampaknya telah meninggalkan perpustakaan ini, tetapi ada banyak cabangnya. Saya akhirnya melakukan forking dan telah mengubahnya hingga saya dapat menginstal dan menjalankannya di Raspberry Pi saya, yang defaultnya adalah Python 2.7 . Bug dari perspektif 2.7 adalah perbaikan yang SUPER mudah setelah saya menjalankan versi fork saya. Saya sedang mengerjakannya ke versi Python modern, tetapi saya yakin orang lain telah mengerjakan garpu mereka sendiri lebih lama daripada saya! Pada titik ini, kita mungkin lebih baik memilih garpu kuat seseorang dan membawa pesta SimpleCV kita ke sana.
Tapi siapa yang tahu?? Mungkin @andrewbaldock @bremac @demaagdk @doclrogers @idfarmer @mechiris @oostendo @struckmannk atau @xamox akan melihat salah satu utas ini dan memutuskan untuk meminta bantuan orang! Memelihara perpustakaan, terutama yang sebesar ini, membutuhkan banyak pekerjaan.
Hai @mUtterberg ... garpu saya mencoba memindahkan SimpleCV dari Python2 ke Python3. Saya memperbaiki sebagian besar masalah. Pemblokir utama saat ini adalah penanganan data internal. SimpleCV menggunakan iplimage 3 saluran (RGB) secara internal sebagai default, tetapi iplimage tidak digunakan lagi. Disarankan untuk menggunakan numpy.ndarray sebagai gantinya, tetapi saya belum menemukan waktu untuk mem-port kode apa pun. Saya bersedia membantu jika Anda (atau siapa pun) memiliki pertanyaan.
Hai @mUtterberg ... garpu saya mencoba memindahkan SimpleCV dari Python2 ke Python3. Saya memperbaiki sebagian besar masalah. Pemblokir utama saat ini adalah penanganan data internal. SimpleCV menggunakan iplimage 3 saluran (RGB) secara internal sebagai default, tetapi iplimage tidak digunakan lagi. Disarankan untuk menggunakan numpy.ndarray sebagai gantinya, tetapi saya belum menemukan waktu untuk mem-port kode apa pun. Saya bersedia membantu jika Anda (atau siapa pun) memiliki pertanyaan.
Hai @mUtterberg Saya hanya ingin menggunakan SimpleCV untuk menemukan lingkaran, apakah Anda bisa melakukannya? Atau masih belum siap? Terima kasih
+1
Python 2 secara resmi terbenam. Apakah ada rencana untuk membuat simplecv python 3 kompatibel? Ini adalah paket yang keren dan mudah dipahami. Terima kasih.
@jairoareyes Saya akhirnya menggunakan OpenCV sendiri, karena rilis terbaru dari python api jauh lebih intuitif dan kurang lebih meniadakan kebutuhan akan api pihak ketiga.
Komentar yang paling membantu
Hai @mUtterberg ... garpu saya mencoba memindahkan SimpleCV dari Python2 ke Python3. Saya memperbaiki sebagian besar masalah. Pemblokir utama saat ini adalah penanganan data internal. SimpleCV menggunakan iplimage 3 saluran (RGB) secara internal sebagai default, tetapi iplimage tidak digunakan lagi. Disarankan untuk menggunakan numpy.ndarray sebagai gantinya, tetapi saya belum menemukan waktu untuk mem-port kode apa pun. Saya bersedia membantu jika Anda (atau siapa pun) memiliki pertanyaan.