A: Ya, python
dapat mengambil & memproses adegan apa pun melalui perangkat input USB
Masalah desain pemrosesan gambar real-time (bukan streaming ...) adalah tentang kinerja RT-loop secara keseluruhan, terutama transformasi & pemrosesan gambar, bukan hanya tentang ukuran gambar statis dan metode akuisisi itu sendiri.
Bagaimanapun, kode Anda harus dirancang dengan hati-hati dan diukur sebelumnya di [usec, nsec] (ya, ada alat python yang tersedia untuk memungkinkan Anda membandingkan masalah pengaturan waktu kode Anda hingga resolusi 25-nsec) untuk menjaga keseluruhan RT-loop layak dilakukan dalam arsitektur pemrosesan gambar umum Anda. Ditambah lagi, Anda akan kesulitan dengan manajemen sumber daya & penanganan kesalahan, yang keduanya menyebabkan banyak masalah dalam penjadwalan RT.
Bagaimana? Anggap ini sebagai inspirasi untuk memulai
Sampel yang dibawa hanya untuk ide pengambilan gambar awal dari prototipe python PoC pencitraan medis:
def demoCLUT( ):
cameraCapture = cv2.VideoCapture(0)
cv2.namedWindow( 'msLIB:ComputerVision.IN' )
cv2.setMouseCallback( 'msLIB:ComputerVision.IN', onMouse )
cv2.namedWindow( 'msLIB:ComputerVision.OUT-0' )
cv2.namedWindow( 'msLIB:ComputerVision.OUT-1' )
cv2.namedWindow( 'msLIB:ComputerVision.OUT-2' )
success, frame = cameraCapture.read()
if success:
while success and cv2.waitKey( 10 ) == -1 and not clicked: # [msec]
aGrayFRAME = cv2.cvtColor( frame, cv2.COLOR_BGR2GRAY )
cv2.imshow( 'msLIB:ComputerVision.IN', frame )
cv2.imshow( 'msLIB:ComputerVision.OUT-0', aGrayFRAME )
cv2.imshow( 'msLIB:ComputerVision.OUT-1', reprocessIntoFalseCOLORs( aGrayFRAME, frame, aFalseCLUT ) ) # <frame>-destructive
cv2.imshow( 'msLIB:ComputerVision.OUT-2', reprocessIntoFalseCOLORs( aGrayFRAME, frame, aFalseCLUT_T ) ) # <frame>-destructive
success, frame = cameraCapture.read()
pass
else:
print "OpenCV.CLUT.DEMO: cameraCapture.read() failed to serve a success/frame ... "
pass
# ------------------------------------------------------------------<RELEASE-a-Resource>
cameraCapture = False #RELEASE-a-Resource setting it asFalse
print 30 * ">", "call clearWIN() to release & tidy up resources..."
# ------------------------------------------------------------------<RELEASE-a-Resource>
Apakah rangkaian rekaman merupakan suatu keharusan atau sebaiknya dimiliki?
Sejauh motivasi Anda diungkapkan, prototipe Anda akan menghabiskan banyak waktu untuk pengembangan. Di sana, urutan yang direkam sebelumnya dapat membantu Anda fokus pada sisi pengembangan/pengujian, sementara konsentrasi Anda tidak terbagi dua antara game dan kode python, namun ini tidak harus dimiliki.
Sebuah komentar tentang FPS. Anda membangun AI melawan Pemain Manusia
Karena itu, mesin AI awal Anda mungkin mulai pada kecepatan terendah 10-15 FPS, tidak perlu terjebak dalam teka-teki RT-loop yang tidak dapat dipecahkan hanya karena tingkat FPS yang terlalu tinggi.
Tandem mata / otak manusia kita mendapatkan ilusi gerakan di suatu tempat dekat kecepatan refresh TV (artinya TV analog asli, di mana sekitar 21 setengah layar selama beberapa dekade sudah cukup untuk manusia (tidak sama untuk anjing ... jadi perusahaan pemasaran berfokus pada mempengaruhi manusia, mengukur dampak kampanye periklanan mereka dengan pengukur orang dan bukan pengukur anjing karena sahabat kita sama sekali tidak suka menonton statistik aneh yang berkedip di layar TV)).
Jadi jangan terlalu mendesain mesin AI yang akan dikembangkan, itu bertujuan untuk mengalahkan Pemain Manusia, bukan pemain anjing, bukan?
person
user3666197
schedule
10.05.2015
frame = framegetter.getframe()
. - person abarnert   schedule 09.05.2015