一、
1.至http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載data32 win32 glut32.dll 放在桌面新增的一個資料中,解壓縮後執行Texture.exe
2.執行結果
二、在codeblock設定opencv(練習設定)
1.至moodle下載安裝codeblock_MinGW跟OpenCV-2.1.0-win32-vs2008.exe
2.先安裝opencv再裝codeblock(記得opencv安裝時要用選將路徑加入環境數PATH)
3.開始建立codeblock的專案
4.File->New->Project-->選console application-->GO-->之後命名專案跟選擇專案存檔位置
5.將main.cpp中的code取代如下
#include <opencv/highgui.h>
int main()
{
IplImage * img=cvLoadImage("a.jpg");
cvNamedWindow("hello");
cvShowImage("hello", img);
cvWaitKey(0);
return 0;
}
6.會發現無法執行
7.按照下列步驟設定
8.隨便下載個jpg圖片並將圖片改為a.jpg
9.將圖片放到專案的資料夾中
10.執行結果
三、在glut專案中使用opencv
1.新建一個glut專案(方法請見之前的筆記)
2.用上面的方法設定此專案
4.把檔名為a.jpg的圖片放到freeglut\bin的資料夾中
5.執行結果
按下任意鍵之後
四、使用教授給的專案檔來學opengl的texture
IplImage * img = cvLoadImage(filename); ///OpenCV讀圖
cvCvtColor(img,img, CV_BGR2RGB); ///OpenCV轉色彩 (需要cv.h)
glEnable(GL_TEXTURE_2D); ///1. 開啟貼圖功能
GLuint id; ///準備一個 unsigned int 整數, 叫 貼圖ID
glGenTextures(1, &id); /// 產生Generate 貼圖ID
glBindTexture(GL_TEXTURE_2D, id); ///綁定bind 貼圖ID
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
/// 貼圖參數, 超過包裝的範圖T, 就重覆貼圖
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
/// 貼圖參數, 超過包裝的範圖S, 就重覆貼圖
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
/// 貼圖參數, 放大時的內插, 用最近點
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
/// 貼圖參數, 縮小時的內插, 用最近點
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img->width, img->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img->imageData);
return id;

沒有留言:
張貼留言