ตอบ: ได้ python
สามารถดึงและประมวลผลฉาก ใดๆ ผ่านอุปกรณ์อินพุต USB
ปัญหาการออกแบบการประมวลผลภาพแบบเรียลไทม์ (ไม่ใช่สตรีม ... ) นั้นเกี่ยวกับประสิทธิภาพ RT-loop โดยรวม ซึ่งส่วนใหญ่เป็นการแปลงและการประมวลผลภาพ ไม่ใช่แค่ขนาดภาพคงที่และวิธีการรับข้อมูลต่อ
อย่างไรก็ตาม โค้ดของคุณจะต้องได้รับการออกแบบอย่างระมัดระวังและวัดล่วงหน้าใน [usec, nsec] (ใช่ มีเครื่องมือหลามเพื่อให้คุณสามารถเปรียบเทียบปัญหาด้านเวลาของโค้ดของคุณลงไปที่ความละเอียด 25 nsec บางส่วน) เพื่อคงไว้ซึ่งทั้งหมด RT-loop เป็นไปได้ภายในสถาปัตยกรรมการประมวลผลภาพทั่วไปของคุณ นอกจากนี้ คุณจะต้องดิ้นรนกับทั้งการจัดการทรัพยากรและการจัดการข้อผิดพลาด ซึ่งทั้งสองอย่างนี้ทำให้เกิดปัญหามากมายในการกำหนดเวลา RT
ยังไง? ใช้สิ่งนี้เป็นแรงบันดาลใจในการเริ่มต้น
ตัวอย่างที่นำมาเป็นเพียงแนวคิดเบื้องต้นในการจับภาพจากต้นแบบงูหลาม PoC สำหรับการถ่ายภาพทางการแพทย์:
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>
ซีเควนซ์ที่บันทึกไว้ล่วงหน้าเป็นสิ่งที่ต้องมีหรือเป็นสิ่งที่ควรมี?
เท่าที่มีการแสดงแรงจูงใจของคุณ ต้นแบบของคุณจะใช้เวลามากในการพัฒนา ลำดับที่บันทึกไว้ล่วงหน้าอาจช่วยให้คุณมุ่งความสนใจไปที่ด้านการพัฒนา/การทดสอบ ในขณะที่สมาธิของคุณจะไม่ถูกแบ่งครึ่งระหว่างเกมและโค้ด Python อย่างไรก็ตาม สิ่งเหล่านี้ไม่ใช่สิ่งที่ต้องมี
ข้อสังเกตเกี่ยวกับ FPS คุณสร้าง AI เพื่อต่อต้านผู้เล่นที่เป็นมนุษย์
อย่างที่กล่าวไปแล้ว เครื่องยนต์ AI เริ่มต้นของคุณอาจเริ่มต้นที่ต่ำเพียง 10-15 FPS ไม่จำเป็นต้องพาตัวเองเข้าสู่ปริศนา RT-loop ที่แก้ไม่ได้เพียงเพราะอัตรา FPS สูงเกินจริง
ตา / สมองของมนุษย์ของเราได้รับภาพลวงตาของการเคลื่อนไหวที่ไหนสักแห่งใกล้กับอัตราการรีเฟรชของทีวี (หมายถึงทีวีแอนะล็อกดั้งเดิมซึ่งมีประมาณ 21 ครึ่งจอเพียงพอสำหรับคนมานานหลายทศวรรษ (ไม่เหมือนกันสำหรับสุนัข ... ดังนั้น บริษัทการตลาดมุ่งเน้นไปที่การมีอิทธิพลต่อมนุษย์ โดยวัดผลกระทบของแคมเปญโฆษณาโดยใช้มาตรวัดผู้คน ไม่ใช่มาตรวัดสุนัข เนื่องจากเพื่อนที่ดีที่สุดของเราไม่ชอบดูสถิติที่กะพริบแปลกๆ เหล่านั้นบนหน้าจอทีวีเลย ))
ดังนั้นอย่าออกแบบเครื่องยนต์ AI ที่จะพัฒนามากเกินไป มันจะมุ่งเป้าไปที่การเอาชนะผู้เล่นที่เป็นมนุษย์ ไม่ใช่พวกสุนัขใช่ไหม?
person
user3666197
schedule
10.05.2015
frame = framegetter.getframe()
- person abarnert   schedule 09.05.2015