2024年3月21日 星期四

電腦圖學week05

##OpenCV

1.安裝 OpenCV 2.1

2.小心1: Add OpenCV to system PATH

   小心2:目錄不要改 用預設的 C:\OpenCV2.1 不要動

3.檔案總管檢查 C:\多了 OpenCV2.1目錄 裡面有include 有lib 有bin三個東西

4.曾新開啟CodeBlocks

 

##CodeBlocks設定

1.Setting-Compiler 目錄compiler要加入include目錄

2.Setting-Compiler 目錄linker要加入lib目錄

3.Setting-Compiler linker setting要加入 cv210 cxcore210 highgui210 三個檔名





 

##顯示圖片

1.在網路上下載圖片到c槽

2.開頭為使用外掛程式

3.測試看看圖片跑不跑得出來








##課本範例

1.https://jsyeh.org/3dcg10 下載data win32

2.解壓縮windows.zip

3.將data.zip中的data資料夾加入解壓縮後的windows資料夾

4.開啟windows資料夾中的Texture.exe

5.改x,y座標





 ## 顯示兩個圖片

1. 桌面有「葉正聖老師上課用軟體」 freeglut 安裝(拉到桌面),再把 lib的 libfreeglut.a 複製成 libglut32.a

2. CodeBlocks File-New-Project, GLUT專案, week05_opencv_cvLoadImage

3. 把之前的的10行程式貼進來

4. 再加上3行OpenCV的程式

5.就能跑出兩個圖片



 


 ## hello kitty樣式茶壺
1. Moodle上有Github Gist網址,貼上前面的18行程式
2. 之後貼上上個專案的GLUT的10行程式
3. 最後的glutMainLoop();前加上myTexture("c:/image.jpg");




 ## week05_opencv_openGL_myTexture_glTexCoord2f

1. 貼上剛剛的程式week05_opencv_opengl_myTexture

2. 加入課本的4行程式碼:

```cpp

glBegin(GL_POLYGON);

    glTexCoord2f(0,0); glVertex2f(-1,-1);

    glTexCoord2f(1,0); glVertex2f(+1,-1);

    glTexCoord2f(1,1); glVertex2f(+1,+1);

    glTexCoord2f(0,1); glVertex2f(-1,+1);

    glEnd();

3. 不過背景圖的上下倒過來了






 ## 旋轉地球

1. 找滿版地球圖片,存C槽earth.jpg

2. GLUT專案week05_reotating_earth

3. 把week05_opencv_opengl_myTexture程式拿來用

4.加上指標GLUquadric*quad;

5.在main()的glutMainLoop();前面加上

glutIdleFunc(display);

```

quad=gluNewQuadric();///todo:把這顆指標,指好

gluQuadricTexture(quad,1);///todo:做好地球的貼圖

(要記得將圖片改成earth.jpg

6.加入:

float angle=0;

```

glEnable(GL_DEPTH_TEST);

    glPushMatrix();

        glRotatef(90,1,0,0);

        glRotatef(angle++,0,0,1);

        gluSphere(quad,1,30,30);

    glPopMatrix();

7.地球就會旋轉了







沒有留言:

張貼留言