OpenCV 2.0 มาใหม่ ไฉไลกว่าเดิม (?) พร้อมวิธี Install ใช้กับ Visual C++ 2008

สำหรับ OpenCV เวอร์ชั่นล่าสุด (2.0) ที่พึ่งออกเมื่อปลายเดือนที่แล้ว ก็มีอะไรหลายๆอย่างเปลี่ยนแปลงไปจากรุ่น 1.xx ตั้งแต่ฟังก์ชั่นที่เพิ่มขึ้นมารวมถีงวิธีการลง ที่ Path ของ ไลบราลี่เปลี่ยนไป

สิ่งที่อัพเดทขึ้นมา สามารถอ่านได้ตามรายงานในวิกิ ส่วนใหญ่ก็จะเป็นการอัพเดท Algorithm หรือวิธีการใหม่ๆที่ได้รับการยอมรับโดยสากลแล้ว มีบางตัวที่คิดว่าน่าสนใจที่อาจจะลองใช้ในโปรเจคก็ได้แก่ LDetector (หา feature ที่เป็นวงกลม),  Haar ที่ปรับปรุงใหม่ (Haar + LBP )  หรือการปรับปรุงการจัดการเมโมรี่ ที่(เค้าอ้างว่า)ประหยัดขึ้นเยอะ

แต่สิ่งที่เปลี่ยนไปมากที่สุด (และสร้างความปวดหัวให้มากที่สุด) ก็คือวิธีการลงที่เปลี่ยนไป ซึ่งทางวิกิก็ยังไม่ได้อัพเดทวิธีการลงสำหรับผู้ใช้ Visual C++ 2008 ซึ่งมีดังนี้

– จากเดิมที่เป็นไฟล์ .exe ตัวเดียวลงปุ๊บ เสร็จปั๊บ ตอนนี้ต้อง Make file ใหม่หมดด้วย CMake (ลงตัวที่ชื่อ cmake-2.6.4-win32-x86.exe)

– โหลดไลบราลี OpenCV แล้วลงตาม Default ไปเลย ไม่ต้องแก้อะไร ณ ตอนนี้ เราจะได้โฟลเดอร์ C:/OpenCV2.0 เป็นที่ตั้งไลบราลี่เราแล้ว

– สร้างโฟลเดอร์ ที่จะมารับไฟล์ที่เรา Make ที่

C:\OpenCV2.0\vs2008

– หลังจากลง CMake แล้ว ให้เปิดโปรแกรม CMake (cmake-gui) ขึ้นมา แล้วเซ็ตดังนี้

– ที่ Source ให้ใส่

C:\OpenCV2.0

– ที่ Build ให้ใส่

C:\OpenCV2.0\vs2008

– จากนั้น กดปุ่ม Configure เลือก IDE ที่เราใช้ (ในที่นี้คือ Visual Studio 2008)

จะได้ประมาณนี้ ให้เลือกกาทุกช่อง (หรือเลือกเท่าที่จำเป็น) จากนั้นกด Configure อีกครั้ง แล้วกด Generate

cmake

– จากขั้นตอนนี้ ไปที่ Directory C://OpenCV2.0/vs2008 แล้วเปิด ไฟล์ Solution ที่ชื่อ OpenCV.sln ขึ้นมา ก็จะขึ้นหน้าต่างของ Visual C++ ขึ้นมาให้

– ให้ไปที่ Build > Configuration Manager เลือก Debug (ปกติเลือกให้โดย Default ให้อยู่แล้ว) จากนั้นก็สั่ง Build Solution

build

– ให้ไปที่เดิม Build > Configuration Manager คราวนี้เลือก Release จากนั้นก็สั่ง Build Solution

– เซ็ต Path ด้วยการคลิกขวาที่ My Computer แล้ว เลือก System Properties >Advanced > Environments Variables โดยตั้งPATH เป็น

C:\OpenCV2.0\vs2008\bin\Debug;C:\OpenCV2.0\vs2008\bin\Release

– กลับไปที่ Visual C++ ให้ไปที่ Tools > Options > Projects and Solution > VC++ Directories ที่ช่อง Show directories for เลือก Include files เพิ่มพาร์ธเข้าไปบรรทัดนึง

C:\OpenCV2.0\include\opencv
path1

– ที่เดิม เลือก Library files ใส่พาร์ธ

C:\OpenCV2.0\vs2008\lib\Release
path2

– ขั้นตอนสุดท้ายก็คือ คลิกขวาที่ Project เลือก Properties > Configuration Properties >Linker > Input ที่ช่อง Additional Dependencies ให้ใส่ (ขั้นตอนนี้ต้องทำใหม่ทุกครั้งเมื่อมีการสร้างโปรเจคใหม่)

cv200.lib cxcore200.lib highgui200.lib
path3

เท่านี้ก็เป็นอันเสร็จเรียบร้อย พร้อมใช้งานแล้ว

Credit :

http://opencv.willowgarage.com/wiki/OpenCV%20Monthly

http://blog.qevan.com/posts/512.g

11 comments

  1. ผมทำตามแล้ว มันขึ้น error ว่า

    1>LINK : fatal error LNK1104: cannot open file ‘cv200.lib’

    1. ผมไม่แน่ใจว่า OpenCV ตัวที่ให้โหลดอยู่ตอนนี้เค้าแก้ชื่อไฟล์ .lib แล้วรึยังนะครับ

      น่าจะลองใส่เป็น
      cv.lib cxcore.lib highgui.lib

      1. เปลี่ยนแล้วก็ยังมองไม่เห็นเหมือนเดิมครับ งง เลย

  2. เอ …. ที่มองไม่เห็น คือ Build OpenCV.sln ผ่านรึยังครับ ?

    1. ขอบคุณที่สำหรับความสนใจและเครดิตครับ

      สำหรับวิธีการลงสามารถดูเพิ่มเติมได้จาก readme ของ Opencv ได้เลยนะครับ รู้สึกว่าค่อนข้างละเอียดอยู่

  3. ขั้นตอนที่บอกว่า
    “จากนั้น กดปุ่ม Configure เลือก IDE ที่เราใช้ (ในที่นี้คือ Visual Studio 2008)”
    ของผมมันไม่มีตัวเลือก “Visual Studio 9 2008” มาให้เลือกอะครับ(ลง Visual C++ 2008 แล้ว) ไม่รู้มีปัญหาที่อะไร เพื่อนผมก็เป็น

    1. ผมเข้าใจว่าเลือกตัวล่่าสุดที่มีให้ลงใน CMake ก็น่าจะใช้ได้เลยนะครับ

      ที่ว่าไม่ได้นี่คือติดตรงขั้นตอนไหนเหรอครับ ?

      1. ผมทำถึงขั้นตอนสุดท้ายอะครับ ตรงที่ตั้งค่า Properties > Configuration Properties >Linker > Input ที่ช่อง Additional Dependencies ผมไม่มี สงสัยมากเลยครับ ผมทำตามขั้นตอนหมดทุกอย่างครับ กรุณาตอบด้วยนะครับ ขอบคุณครับ

      2. ใช้ MS Visual เวอร์ชั่นไหนครับ ที่ว่าไม่มี นี่หมายถึง library หรือ ไม่มีช่องให้กรอกครับ ?

Leave a comment