2024年3月21日 星期四

YT's 電腦圖學 Week05

 #安裝Open CV

1. 桌面 --> 葉正聖老師上課用軟體 --> OpenCV2.1.0-win32-vs2008.exe

2. 小心! Add OpenCV to... PATH ( 選第2、3都可以,不要選第1個就好 ! )
    小心! 要安裝在預設的 C:\OpenCV2.1 目錄裡

3. 安裝完要重開 CodeBlocks

4. 設定 Setting-Compiler 要加入3個設定

  • Search 目錄 Compiler 的 include目錄 加 C:\OpenCV2.1\include
  • Search 目錄 Linker 的 lib目錄 加 C:\OpenCV2.1\lib
  • 加入 Linker 的3個檔名 cv210、cxcore210、highgui210








#week05-1_opencv.cpp

1. 找一張圖,下載到C槽 --> 檔名設定為 image.jpg
2. File --> New -->  Empty File



#week05-2_opencv_webcam.cpp

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

2. windows.zip解壓縮 --> data檔案拉進windows

3. 執行Texture.exe --> 可改glTexCoord2f(tx, ty); 貼圖座標、 glVertex3f(x,y,z); 頂點



#week05_opencv_cvLoadImage

1. 安裝freeglut在桌面 , 把lib裡的 libfreeglut.a複製為 glutlib32.a

2. File --> New --> Project --> glut ...(步驟和之前相同)

3. 貼上10行程式碼,再加上三行 OpenCV的程式碼




#week05_opencv_opengl_myTexture

1. 在 Moodle 老師有放 github 的網址,裡面有 myTexture.cpp的18行程式碼複製貼上

https://gist.github.com/jsyeh/5ed01210559721ec71b659b3ffed2dd7

2. 加上10行程式碼,最後的 glutMainLoop() 之前 , 加上 myTexture("C:/image.jpg");

圖片就會成貼圖貼到茶壺上



#week05_opencv_opengl_myTexture_glTexCoord2f

1. 新增一個 GLUT 專案,貼上剛剛 #week05_opencv_opengl_myTexture 的程式碼 --> 加上6行新程式碼
glBegin(GL_POLYGON);
        glTexCoord2f(0,0); glVertex2f(-1,-1);
        glTexCoord2f(0,1); glVertex2f(-1,+1);
        glTexCoord2f(1,1); glVertex2f(+1,+1);
        glTexCoord2f(1,0); glVertex2f(+1,-1);
    glEnd();

不過背景圖的上下會倒過來,因為歷史餘毒,所以Y向下 vs. Y向上


#week05_rotating_earth

1. google找一張地球圖片(要滿版的不要圓弧形),存在c槽,earth.jpg
2. 開新專案 --> 把week05_opencv_opengl_myTexture程式碼拿來改
3. 增加黃色部分程式碼 (照片要改成地球的照片) 地球就會自轉 !












沒有留言:

張貼留言