2017年11月2日 星期四

[耍廢]WEEK08

一、
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.用上面的方法設定此專案
3.更改一下code

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;





























沒有留言:

張貼留言