Speed-cam.py ver 11.26 และ Greater จะทำงานภายใต้ Raspberry Pi OS Bullseye หรือใหม่กว่าด้วยโมดูลกล้อง PI เช่นเดียวกับกล้อง USBCAM และ IP/RTSP สำหรับการสนับสนุน Picamera เรียกใช้ sudo raspi-config ตัวเลือกอินเตอร์เฟสจากนั้นเปิด/ปิดใช้งานตัวเลือกกล้องดั้งเดิมและรีบูต
สำคัญ - การอัปเดต Raspbian sudo apt-get และ การอัพเกรด sudo apt-get จะ ไม่ ถูกดำเนินการเป็นส่วนหนึ่งของ
speed-install.sh ขอแนะนำให้คุณเรียกใช้สิ่งเหล่านี้ก่อนที่จะติดตั้งเพื่อให้แน่ใจว่าระบบของคุณทันสมัย
กดไอคอน GitHub คัดลอกทางด้านขวาของกล่องรหัสด้านล่าง
หรือด้วยปุ่มซ้ายของเมาส์ไฮไลต์คำสั่ง curl ในกล่องรหัสด้านล่าง คลิกขวาที่เมาส์ในพื้นที่ ไฮไลต์ และเลือกคัดลอก
curl -L https://raw.github.com/pageauc/speed-camera/master/speed-install.sh | bash
บน RPI Putty SSH หรือเซสชันเทอร์มินัลคลิกขวาเลือกวางจากนั้นป้อนเพื่อดาวน์โหลดและเรียกใช้สคริปต์
สิ่งนี้จะดาวน์โหลดและเรียกใช้สคริปต์ Speed-install.sh หากรันภายใต้ Python3 คุณจะต้องติดตั้ง OpenCv3 หากไม่ได้ติดตั้ง หากคุณต้องการรวบรวม OpenCV ให้ดู GitHub Repo ของฉันที่เมนูคอมไพล์คอมไพล์ OpenCv3 จากโครงการต้นทาง
เวอร์ชัน 13.05 เป็นการแก้ไขกล้องความเร็วที่สำคัญ ตอนนี้รหัสเธรดกล้องได้รับการจัดการโดยโมดูล strmcam.py config.py ชื่อตัวแปรมีการเปลี่ยนแปลงดังนั้นคุณจะต้องสำรองและ cp config.py.new config.py (ดูรายละเอียดด้านล่าง)
สำคัญ : การตั้งค่าทั้งหมดอยู่ใน config.py คุณสามารถลบ configcam.py ถ้ามีอยู่เมื่อคุณอัปเกรดเป็น ver 13.05 ขึ้นไป ปลั๊กอินตอนนี้ใช้งานได้ คุณสามารถปรับแต่งไฟล์ปลั๊กอินให้เหมาะกับคุณหรือสร้างของคุณเอง หากคุณกำลังอัพเกรดคุณควรลบให้ย้ายปลั๊กอินเก่าเพื่อให้ดาวน์โหลดปลั๊กอินใหม่ระหว่างการอัพเกรด กรุณาโพสต์ปัญหา GitHub หากคุณพบข้อผิดพลาดหรือปัญหา ไคลด์
ความเร็ว ที่สำคัญ cam.py ver 8.x หรือมากกว่านั้นต้องมีการปรับปรุง config.py และปลั๊กอิน
cd ~/speed-camera
cp config.py config.py.bak
cp config.py.new config.py
ในการแทนที่ปลั๊กอินปลั๊กอินปลั๊กอิน (หรือลบ) ปลั๊กอินต่อด้านล่าง
cd ~/speed-camera
mv plugins pluginsold # renames plugins folder
rm -r plugins # deletes plugins folder
จากนั้นเรียกใช้เมนูการอัพเกรด Menubox.sh
ดู Windows 10/11 หรือ Apple Mac Docker ติดตั้งอย่างรวดเร็วเริ่มต้น
หรือ windows หรือ unix distro ติดตั้งโดยไม่ต้อง Docker
นี่คือ Raspberry Pi, Windows, UNIX Distro Computer โปรแกรมการสาธิตกล้องความเร็ว Object Object มันถูกเขียนขึ้นใน Python และใช้ OpenCV เพื่อตรวจจับและติดตามพิกัด X, Y ของวัตถุที่เคลื่อนไหวที่ใหญ่ที่สุดในมุมมองกล้องด้านบนพื้นที่พิกเซลขั้นต่ำ
ตัวแปรผู้ใช้จะถูกเก็บไว้ในไฟล์ config.py การตรวจจับการเคลื่อนไหวถูก จำกัด ระหว่าง mo_crop_y_upper , mo_crop_y_lower , mo_crop_x_left , ตัวแปร mo_crop_x_right (ถนนหรือพื้นที่ที่น่าสนใจ) MO_CROP_AUTO_ON = การตั้งค่าคู่มือการแทนที่ จริง และจะคำนวณพื้นที่การเพาะปลูกแบบหยาบโดยอัตโนมัติตามขนาดภาพ การติดตามการเคลื่อนไหวถูกควบคุมโดยตัวแปร mo_track_event_count ใน config.py สิ่งนี้ตั้งค่าจำนวนกิจกรรมแทร็กและความยาวแทร็กเป็นพิกเซล สิ่งนี้อาจต้องปรับแต่งสำหรับมุมมองกล้องความเร็ว CPU ฯลฯ ความเร็วจะถูกคำนวณตามตัวแปร CAL_OBJ_PX_ และ CAL_OBJ_MM_ ตัวแปรสำหรับทิศทางการเคลื่อนไหว L2R และ R2L ภาพสตรีมวิดีโอภาพเฟรมจะถูกบันทึกและบันทึกใน สื่อ/รูปภาพ ย่อยลงวันที่ (ไม่บังคับ) ต่อตัวแปร IM_SUBDIR_MAX_FILES = 2000 สำหรับรายละเอียดการตั้งค่าตัวแปรดูไฟล์ config.py
หาก log_data_to_csv = true ไฟล์ speed-cam.csv จะถูกสร้าง/อัปเดตด้วยข้อมูลเหตุการณ์ที่เก็บไว้ในรูปแบบ CSV (ค่าคั่นเครื่องหมายจุลภาค) สิ่งนี้สามารถนำเข้าสู่สเปรดชีตฐานข้อมูล ฯลฯ โปรแกรมสำหรับการประมวลผลเพิ่มเติม รีลีส 8.9 เพิ่มฐานข้อมูล SQLITE3 เพื่อจัดเก็บข้อมูลความเร็ว ค่าเริ่มต้นคือ data/speed_cam.db พร้อมข้อมูลในตาราง ความเร็ว การตั้งค่าฐานข้อมูลสามารถจัดการได้จาก config.py ฐานข้อมูลถูกสร้างขึ้นโดยอัตโนมัติจากการตั้งค่า config.py สำหรับรายละเอียดเพิ่มเติมดูวิธีจัดการฐานข้อมูล SQLITE3
คอมพิวเตอร์ Raspberry Pi และ โมดูลกล้อง RPI ที่ติดตั้ง หรือเสียบกล้อง USB ตรวจสอบให้แน่ใจว่าฮาร์ดแวร์ได้รับการทดสอบและใช้งานได้ รุ่น RPI ส่วนใหญ่จะทำงานได้ดี Quad Core RPI จะปรับปรุงประสิทธิภาพอย่างมากเนื่องจากการทำเกลียว แนะนำให้ใช้ระบบปฏิบัติการ Raspbian เวอร์ชันล่าสุด
หรือ
MS Windows หรือ UNIX Distro Computer พร้อมกล้องเว็บ USB เสียบปลั๊กและ Python เวอร์ชันล่าสุดที่ติดตั้งเพื่อดูรายละเอียดดู รายละเอียดวิกิ
ขอแนะนำให้คุณอัปเกรดเป็น OpenCV เวอร์ชัน 3.xx เพื่อการรวบรวม OpenCV 3.4.2 จากแหล่งที่มาดู https://github.com/pageauc/opencv3-setup
สำหรับแพลตฟอร์มคอมพิวเตอร์ Windows หรือ UNIX (ไม่ใช่ RPI หรือ Debian) ให้แน่ใจว่าคุณมีรุ่น Python ที่ทันสมัยที่สุด สำหรับดาวน์โหลดและติดตั้ง Python และ OpenCV
รุ่น Python ล่าสุดรวมถึง NumPy และเวอร์ชัน OpenCV ล่าสุดที่จำเป็นในการเรียกใช้รหัสนี้ คุณจะต้องมีการติดตั้งและใช้งานเว็บแคม USB ในการติดตั้งโปรแกรมนี้เข้าถึงหน้าโครงการ GitHub ที่ https://github.com/pageauc/speed-camera เลือก Green Clone หรือปุ่มดาวน์โหลด ไฟล์จะถูกโคลนหรือซิปไปที่โฟลเดอร์กล้องความเร็ว คุณสามารถเรียกใช้รหัสจากแอปพลิเคชัน Python Idle (แนะนำ), Desktop GUI หรือหน้าต่างเทอร์มินัลพรอมต์คำสั่ง หมายเหตุทุบตีสคริปต์เชลช์จะไม่ทำงานกับ Windows เว้นแต่จะมีการติดตั้งการรองรับพิเศษสำหรับ Windows เช่น http://win-bash.sourceforge.net/ http://www.cygwin.com/ หมายเหตุ: ฉันยังไม่ได้ทดสอบสิ่งเหล่านี้
กล้องความเร็วรองรับการติดตั้ง Docker
Apple Macintosh ต่อข้อกำหนดและคำแนะนำของระบบ
และ
Microsoft Windows 10/11 64 บิตพร้อม BIOS Virtualization เปิดใช้งานและระบบย่อย Microsoft Windows สำหรับ Linux WSL 2 ต่อข้อกำหนดและคำแนะนำของระบบ
config/config.pyจากการเข้าสู่ระบบในเซสชัน RPI SSH หรือเทอร์มินัลคอนโซลดำเนินการดังต่อไปนี้ ช่วยให้คุณตรวจสอบรหัสติดตั้งก่อนทำงาน
cd ~
wget https://raw.github.com/pageauc/speed-camera/master/speed-install.sh
more speed-install.sh # You can review code if you wish
chmod +x speed-install.sh
./speed-install.sh # runs install script.
cd ~/speed-camera
./speed-cam.py
ดู วิธีการเรียกใช้ speed-cam.py wiki ส่วน
กล้องความเร็ว ที่สำคัญ จะเริ่มใน calibrate_on = โหมด จริง
ตรวจสอบการตั้งค่าในไฟล์ config.py และแก้ไขตัวแปรด้วยนาโนตามที่ต้องการ คุณจะต้องทำการสอบเทียบเพื่อตั้งค่าที่ถูกต้องสำหรับ config.py cal_obj_px_ และ cal_obj_mm_ สำหรับทิศทาง L2R และ R2L ตัวแปรจะขึ้นอยู่กับระยะทางจากกล้องไปยังวัตถุที่วัดได้ด้วยความเร็ว ดู ขั้นตอนการสอบเทียบ สำหรับรายละเอียดเพิ่มเติม
ตัวแปร config.py motion tracking ที่เรียกว่า track_counter = สามารถปรับได้สำหรับระบบและเวอร์ชัน OpenCV ของคุณ ค่าเริ่มต้นคือ 5 แต่ Quad Core RPI3 และรุ่น OpenCV ล่าสุดเช่น 3.4.2 อาจเป็น 10-15 หรืออาจจะยิ่งใหญ่กว่า สิ่งนี้จะต้องมีการตรวจสอบข้อความบันทึก verbose เพื่อปรับแต่ง
cd ~/speed-camera
./menubox.sh
ความเร็วผู้ดูแลระบบง่ายขึ้นโดยใช้ menubox.sh (เมื่อทำการสอบเทียบและ/หรือการทดสอบเสร็จสมบูรณ์) 
ดูข้อมูลและเทรนด์ CAM ความเร็วจากเว็บเบราว์เซอร์ต่อภาพหน้าจอตัวอย่าง สิ่งเหล่านี้สามารถสร้างได้จากการเลือกเมนู menubox.sh หรือโดยใช้สคริปต์จากคอนโซลหรือผ่านกำหนดการ crontab



คุณสามารถดูภาพล่าสุดหรือประวัติศาสตร์ได้โดยตรงจากหน้าเว็บเบราว์เซอร์ความเร็ว สิ่งเหล่านี้ถูกสร้างขึ้นแบบไดนามิกและแสดงภาพที่ทันสมัย กดปุ่มรีเฟรชหน้าเว็บหน้าเพื่ออัปเดตการแสดงผล 

รหัสนี้บางส่วนขึ้นอยู่กับการสอน YouTube โดย Kyle Hounslow โดยใช้ C ที่นี่ https://www.youtube.com/watch?v=x6rpdrzzgjg
ขอบคุณ Adrian Rosebrock JroseBR1 ที่ http://www.pyimagesearch.com สำหรับรหัสคลาส pivideostream ที่มีอยู่ใน GitHub ที่ https://github.com/jrosebr1/imutils/blob/master/imutils/video/pivideostream.py.py.py
มีความสุข
Claude Pageau
ช่อง YouTube https://www.youtube.com/user/pageaucp
gitHub repo https://github.com/pageauc