2014年3月27日 星期四

第六周

0. 試著執行 Texture 範例
0.1. 

1. Dev C++ 裝兩個紙盒子 (opencv1.0.DevPak, glut_3.7.6.DevPak)
1.1. 將 Dev C++ 的 Tool-Editor設定,將第3個打開(TAB)第4個關掉 (這樣你的程式排版才會正確)

2. Dev C++ 裡, File-New-Project 選 MultiMedia 的 glut 專案
2.1. 在桌面上新增一個  00160011_hw8 的目錄,把你的程式存在這個目錄中

3. Alt-P 專案屬性, 設定參數Link咒語
3.1. GLUT咒語: -lglut32 -lopengl32 -lglu32 -lgdi32 -lwinmm
3.2. OpenCV咒語: -lcv -lcxcore -lhighgui
(3.3. 賈院長課程中用 OpenCV 2.1 的咒語則是 -lcv210 -lcxcore210 -lhighgui210)

4. 將所有的東西都放在同一個目錄中:
4.1. 準備貼圖所需素材 (EarthMapColor.jpg), 放在程式的目錄中
4.2. 將 C:\Dev-CPP\bin\opencv\*.dll 檔案全部放在你的目錄中 (這樣才能執行OpenCV程式)

5. 最簡單的 OpenCV 程式 




按 Tools 選第一個  在第二格框框裡  輸入 
-lcv -lcxcore -lhighgui
並打勾 才可跑出圖片







#include <GL/glut.h>
#include <opencv/highgui.h>
#include <opencv/cv.h>
void display()

{
     glEnable(GL_DEPTH_TEST);
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glutSolidTeapot(0.7);
     glutSwapBuffers();
     
     }
int main()
{
    
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week06");
    glutDisplayFunc(display);
    //new
    GLuint id;
IplImage*img=cvLoadImage("earth.jpg");
cvCvtColor (img, img ,CV_BGR2RGB);
glEnable(GL_TEXTURE_2D);
glGenTextures(1,&id);
glBindTexture(GL_TEXTURE_2D, id);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,img->width,img->height,0,GL_RGB,GL_UNSIGNED_BYTE,img->imageData);
//new
   glutMainLoop();
}


沒有留言:

張貼留言