OpenCV 2.4.2 ใช้เวลา 6 ชั่วโมงในการคอมไพล์บน Raspberry Pi และฉันชอบที่จะทำทุกอย่างให้เป็นเดบิต แต่ฉันไม่เคยทำแบบนั้นมาก่อน ฉันจะทำแพคเกจไฟล์ที่คอมไพล์แล้วเพื่อให้ดาวน์โหลดหรือรวมไลบรารี่อื่น ๆ ที่จำเป็นได้อย่างไร?
OpenCV 2.4.2 ใช้เวลา 6 ชั่วโมงในการคอมไพล์บน Raspberry Pi และฉันชอบที่จะทำทุกอย่างให้เป็นเดบิต แต่ฉันไม่เคยทำแบบนั้นมาก่อน ฉันจะทำแพคเกจไฟล์ที่คอมไพล์แล้วเพื่อให้ดาวน์โหลดหรือรวมไลบรารี่อื่น ๆ ที่จำเป็นได้อย่างไร?
คำตอบ:
ถ้าโดย OpenCV คุณหมายถึงห้องสมุดวิสัยทัศน์คอมพิวเตอร์ที่http://opencv.willowgarage.com/จากนั้นพวกเขาจะได้รับการบรรจุสำหรับเดเบียนโดยทีมวิทยาศาสตร์ Debian
ทางออกที่ดีที่สุดของคุณคือการดาวน์โหลดแพคเกจแหล่ง debianised จากมิเรอร์เดเบียนที่ใกล้ที่สุดของคุณแก้ไข debian / กฎและ / หรือ Makefile หรือกำหนดค่าอื่น ๆ ตามที่จำเป็นในการรวบรวมอย่างถูกต้องในราสเบอร์รี่ pi และสร้างแพคเกจ
งานบรรจุภัณฑ์เสร็จสมบูรณ์แล้วไม่จำเป็นต้องทำอีกครั้ง .... และอีกครั้งและอีกครั้งทุกครั้งที่คุณต้องการอัปเดต
มีแพ็คเกจไบนารีทั้งหมด แต่ libopencv-dev น่าจะเป็นสิ่งที่คุณต้องการเริ่มต้นด้วยhttp://packages.debian.org/search?keywords=libopencv-dev
ฉันคิดว่าฉันจะเพิ่มคำตอบที่ดีกว่าสำหรับคนอื่นที่สังเกตกระทู้นี้
ดังนั้นหากคุณประสบปัญหาในการสร้าง opencv บนอุปกรณ์คุณอาจทำตามคำแนะนำที่นี่:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
ในกรณีนี้หากคุณไม่ได้เพิ่ม-D args
พารามิเตอร์การแทนที่ CMake แบบไดนามิกในขั้นตอนที่สองและคุณเพียงแค่เรียกใช้cmake ..
ภายในไดเรกทอรีการสร้าง (คุณสร้าง) มันจะสร้างCMakeCache.txt
ไฟล์
หากคุณแก้ไขCMakeCache.txt
ไฟล์คุณสามารถเปลี่ยน:
CPACK_BINARY_DEB:BOOL=ON
... นอกเหนือจากตัวแปรที่ระบุอื่น ๆ ในลิงก์ opencv ด้านบน แทนที่จะวิ่งmake
หรือmake install
... แค่วิ่งmake package
แล้วเวทมนตร์ก็เกิดขึ้น
คำเตือน:หากคุณมีWITH_CUDA:BOOL=ON
คุณอาจมีปัญหาการพึ่งพากับผู้ห่อ - และนั่นเป็นคำถามที่แตกต่างกันโดยสิ้นเชิง ...
สำหรับข้อมูลเพิ่มเติมดูCPACK_*_*:BOOL
พารามิเตอร์ในไฟล์ cmake และศึกษาเอกสารประกอบของ CPack:
OpenCV-*-{libs,dev}.deb
คุณต้องการทั้ง ฉันคิดว่า dev มีส่วนหัวที่ ld ใช้เชื่อมโยงกับ. so ใน libs นอกจากนี้คุณยังสามารถคิดออกโดยเรียกใช้dpkg -c OpenCV-*.deb
แพคเกจเพื่อแสดงเนื้อหา นอกจากนี้หากคุณสร้างสิ่งนี้จาก source.tar คุณอาจไม่มีหมายเลขเวอร์ชันและdpkg -i $pkg
จะไม่เป็นเช่นนี้ คุณสามารถบอกได้ว่ามันบอกว่าOpenCV-unknown-*{dev,libs}.deb
ในกรณีใดgit clone github.com/Itseez/opencv
และgit checkout $tag
ในแท็บออก หากคุณสร้างจากด้านบนของต้นไม้คุณจะได้รับแท็ก deb
หน้านี้ควรมีข้อมูลและแบบฝึกหัดทั้งหมดที่คุณต้องการ: http://wiki.debian.org/Packaging