ภาพรวมขั้นตอน
- ดาวน์โหลดและติดตั้งซอฟต์แวร์ที่จำเป็น
- Build OpenCV ด้วย CMake
- ตั้งค่า Environment Variables
- Link OpenCV กับ Visual Studio Project
ขั้นตอนที่ 1: ดาวน์โหลดซอฟต์แวร์
- Visual Studio 2019/2022: ดาวน์โหลด เลือก Community Edition (ฟรี) + Workload "Desktop development with C++"
- OpenCV: ดาวน์โหลด เวอร์ชันล่าสุด (เช่น 4.x.x) Windows pack
- CMake: ดาวน์โหลด Windows installer (.msi)
ขั้นตอนที่ 2: Build OpenCV ด้วย CMake
- แตกไฟล์ OpenCV ไปที่
C:\opencv(จะได้โฟลเดอร์buildและsources) - เปิด CMake GUI
- Source code:
C:/opencv/sources - Build binaries:
C:/opencv/build - กด Configure → เลือก Visual Studio version (เช่น VS 2019 64-bit) → Finish
- ตั้งค่าตัวเลือก (Optional):
BUILD_EXAMPLES,BUILD_opencv_world✓ - กด Generate
- เปิด
C:/opencv/build/OpenCV.slnใน Visual Studio - Build Solution (ทั้ง Debug และ Release) - ใช้เวลานานหลายนาที
ขั้นตอนที่ 3: ตั้งค่า Environment Variables
- Win + Pause → Advanced system settings → Environment Variables
- ใน System Variables หา Path → Edit → New
- เพิ่ม:
C:\opencv\build\x64\vc15\bin(ปรับ vc15 ตาม VS version: vc16=VS2019, vc17=VS2022) - OK ทั้งหมด → Restart Visual Studio
ขั้นตอนที่ 4: สร้าง Project และ Link OpenCV
- สร้าง Project ใหม่: Console App (C++)
- Project Properties (Alt+Enter):
- C/C++ → General → Additional Include Directories:
C:\opencv\build\include - Linker → General → Additional Library Directories:
C:\opencv\build\x64\vc16\lib - Linker → Input → Additional Dependencies: เพิ่มไลบรารีที่ต้องการ เช่น:
opencv_world455d.lib (Debug) opencv_world455.lib (Release)
- C/C++ → General → Additional Include Directories:
- หรือใช้
#pragma comment(lib, "opencv_world455.lib")ในโค้ด
โค้ดทดสอบ
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
Mat img = imread("test.jpg");
if (img.empty()) {
cout << "OpenCV ทำงานปกติ แต่ไม่พบภาพทดสอบ" << endl;
} else {
cout << "OpenCV พร้อมใช้งาน! ขนาดภาพ: " << img.size() << endl;
imshow("Test", img);
waitKey(0);
}
return 0;
}
ปัญหาที่พบบ่อย
- DLL not found: ตรวจสอบ Path ใน Environment Variables
- Mismatch Debug/Release: Debug ใช้ lib ด้วย 'd' ท้าย, Release ไม่มี 'd'
- Architecture mismatch: x64 vs x86 (ต้องตรงกับ Project Platform)
- Version mismatch: vc15/vc16/vc17 ตรงกับ VS version
ทางเลือกง่ายกว่า: vcpkg
# ติดตั้ง vcpkg แล้ว
vcpkg install opencv4:x64-windows
vcpkg integrate install
แล้วใน VS: Project Properties → C/C++ → General → Additional Include: $(VCPKG_ROOT)\installed\x64-windows\include