กันยายน 21, 2018, 02:20:10 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: OpenCV-2.4.3 and Visual C++ 2010 PRO (Also tested with VC++2012 on Windows 8)  (อ่าน 6495 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« เมื่อ: พฤศจิกายน 19, 2012, 12:59:06 pm »

สิ่งนี้สำหรับคนใช้คอมพิวเตอร์ที่ขับเคลื่นโดย CPU แบบ x86 (32-bit) เท่านั้น

เนื่องจาก OpenCV 2.4.x มีไฟล์ขนาดใหญ่มากกว่า 3GB ต้องใช้เวลาในการติดตั้งนาน และเปลืองพื้นที่ไปโดยไม่จะเป็น
อีกทั้งยังยุ่งยากต่อการกำหนดค่าต่างๆ ในที่นี้จึงขอแนะนำวิธีที่ง่าย ไว้เป็นตัวเลือกสำหรับผู้ที่สนใจ

เริ่มจากการ Download (45.71 MB)ไฟล์ OpenCV-x86-vc10-2.4.3.rar

จากนั้นทำการ Extract ไว้ในตำแหน่งที่ต้องการ เช่น D:\ เป็นต้น
นั่นคือจะมี Folder อยู่ 5 Folder ใน "D:\OpenCV-x86-vc10-2.4.3" ดังนี้


*** ไฟล์เหล่านี้ผมได้คอมไพล์ด้วย Visual Studio 2010 PRO ***
***  ทำการทดสอบบน Widows 7 และ 8 ที่มี CPU แบบ x86 (32-bit) และไม่ใช้ GPU เท่านั้น ***
*** ไม่การันตีว่าจะทำงานได้บนคอมพิวเตอร์ทุกเครื่อง ***


ต่อไปให้ทำการเพิ่ม "D:\OpenCV-x86-vc10-2.4.3" เข้าไปยัง Environment Variables ของ Windows (หากไม่ทราบว่าทำอย่างไร ให้ศึกษาเพิ่มเติม หรืออ่านจากที่นี่)

เข้าไปที่ "D:\OpenCV-x86-vc10-2.4.3\OpenCV-x86-vc10-2.4.3-Example" จากนั้นเปิดไฟล์ที่ชื่อ "OpenCV-x86-vc10-2.4.3-Example" ไฟล์นี้มีนามสกุลเป็น .sln ซึ่งเป็นไฟล์ Solution นั่นเอง
ให้ทำการเปิดไฟล์นี้โดย Visual C++ 2010 หรือคลิกขวาแล้วเลือก Open with |  Microsoft Visual Studio 2010 ก็ได้เช่นกัน



รูปร่างหน้าตาจะเป็นแบบนี้



ลองทำการ Compile และรันดู หากไม่มีอะไรผิดพลาดจะได้ผลแบบนี้




รายละเอียดของโปรแกรม:

Code: (c)
#include <stdio.h>  
#include <cv.h>  
#include <highgui.h>  
#ifdef _DEBUG  
  #pragma comment(lib, "opencv_core243d.lib")  
  #pragma comment(lib, "opencv_highgui243d.lib")  
#else  
  #pragma comment(lib, "opencv_core243.lib")  
  #pragma comment(lib, "opencv_highgui243.lib")  
#endif  
  
int main(void){  
   char windowname[] = {"MyImageWindow"};  
   //char filename[] = {"D:/Image.png"};  
   char filename[] = {"../Image.png"};
   IplImage *img = cvLoadImage(filename, 1);  
   if(!img){
      printf("\nCould not open the image, \"%s\"\n\nPress any key to exit.", filename);
      getchar();
      exit(0);
   }
   cvShowImage(windowname, img);  
   cvWaitKey(0);  
   cvDestroyWindow(windowname);  
   cvReleaseImage(&img);  
   return(0);  
}  


เรียบร้อยครับ  azn
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #1 เมื่อ: พฤศจิกายน 20, 2012, 01:15:36 pm »

สำหรับคนที่ใช้ Visual C++ 2012 สามารถเปิดไฟล์ตัวอย่างข้างต้นได้ทันทีครับ (File | Open Project)


เมื่อทำการเปิดไฟล์ขึ้นมา จะมีการบอกให้เราทำการ update ไฟล์ เพื่อข้ามจาก VC++ 2010 มาเป็น VC++ 2012 ให้ตกลงและดำเนินการต่อไป
อย่าลืม !! การ Compile ในครั้งแรกจะต้องเลือกเป็น Rebuild ไม่เช่นนั้นอาจจะมีข้อความรายงานความผิดพลาด ว่าด้วย ไม่รู้จักไฟล์เฉพาะบางตัว


ในที่นี้ผมได้ทดลองกับ Visual C++ 2012 Express (Desktop) รันบน Windows 8 ทุกอย่างราบรื่นดี

บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
Thescrubb
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 14


| |
« ตอบ #2 เมื่อ: ธันวาคม 13, 2012, 05:37:27 pm »

จาก Opencv 2.4.3 ทำ MFC ได้ไหมครับ คือผมลองแล้ว ไลบารี่ บางตัว มันมีไม่เหมือน opencv 2.1 ที่พี่ได้ทำข้อมูลไว้ครับ
ผมสนใจเกี่ยวกับทำ MFC แต่ไม่รู้จะห่ข้อมูลอ่านจากไหนครับ

คำถามเพิ่มเติมครับ C# เนี่ย เขียนร่วมกับ Opencv ได้ไหมครับ หรือเขียน C++ ได้อย่างเดียว
เผื่อผมจะได้ลองมารันใน Fram appication

 angel angel angel angel angel
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #3 เมื่อ: ธันวาคม 13, 2012, 07:14:09 pm »

อ้างถึง
จาก Opencv 2.4.3 ทำ MFC ได้ไหมครับ คือผมลองแล้ว ไลบารี่ บางตัว มันมีไม่เหมือน opencv 2.1 ที่พี่ได้ทำข้อมูลไว้ครับ
ผมสนใจเกี่ยวกับทำ MFC แต่ไม่รู้จะห่ข้อมูลอ่านจากไหนครับ
- เวอร์ชั่นต่างกัน ย่อมมีรายละเอียดปลีกย่อยต่างๆ แตกต่างกันแน่นอนครับ
 - Library ที่ผมเคยทำไว้ ควรใช้คู่กับ version 2.1 ครับ หากต้องการมาใช้กับ เวอร์ชั่นที่สูงขึ้นมา จะต้องใช้ความรู้เชิงลึกเรื่องภาษา C และ Dynamic Link Library เป็นอย่างดี
 - MFC กับ OpenCV ไม่มีอะไรเกี่ยวข้องกันครับ มีส่วนเดีบยวที่เชื่อมโยงกันคือข้อมูลการแสดงผล นั่นคือเราต้องเปลี่ยนจาก IplImage ของ OpenCV มาเป็น Bitmap เพื่อแสดงผลบน MFC


อ้างถึง
คำถามเพิ่มเติมครับ C# เนี่ย เขียนร่วมกับ Opencv ได้ไหมครับ หรือเขียน C++ ได้อย่างเดียว
เผื่อผมจะได้ลองมารันใน Fram appication
- หากจะเล่น C# ให้มองหา Emgu ครับ (มันคือ OpenCV ที่ถูกตัดต่อ/ปรับปรุงพันธุกรรมให้ไปทำงานบน C#)
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: