2022年4月19日 星期二

新手上碌_week09

 主題:貼圖

>>>>下載範例https://jsyeh.org/3dcg10/ 

data//圖檔

>>data資料夾放到windows資料夾裡

source//模型

win32//執行Texture.exe




座標方向:逆時針

使用coldeblocks和opencv讀取圖片秀圖

>>>>安裝openCV

下載 opencv 2.1.0 win32 vs2008

(最小,最快 簡單 跨平台)

注意:Add PATH 選第2個,路徑不變


>>>>Codeblocks重新開
File>New>Empty file 開新空白檔案
另存新檔 檔名:week09_opencv.cpp
#include <openvc/highgui.h>    //使用opencv外掛
int main()
{
    IplImage * img =cvLoadImage("檔名.png");    //讀圖
    cvShowImage("Week09", img);     ///秀圖
    cvWaitKey(0);     //按任意鍵結束
}

Search directories 搜尋目錄!!!!(要設定目錄阿)

設定    Include目錄

設定    lib目錄

設定    Linker 加上(add)三個咒語
圖片位置:鄰居(放在執行檔旁邊,在同一個目錄下)



成功
使用opencv + openGL
複製貼上10行GLUT範例
貼上opencv的三行程式碼
#include <GL/glut.h>///使用GLUT的外掛
#include <opencv/highgui.h>
void myTexture()
{
    IplImage *img =cvLoadImage("grapth1.png");
    cvShowImage("openvc",img);
    ///cvWaitKey(0);////可以不用 因為有glutMainLoop()卡住
}
void display(){
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///畫之前先清除畫面
        glutSolidTeapot(0.3);///畫茶壺
    glutSwapBuffers();///畫好後呈現出來
}
int main(int argc,char** argv){
    glutInit(&argc,argv);///把參數送給glutInit初始化
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///雙緩衝區+3D深度功能
    glutCreateWindow("第09周的程式喔!");///開啟GLUT視窗

    glutDisplayFunc(display);///用來顯示的程式
    myTexture();

    glutMainLoop();///主要的程式迴圈
}

圖片位置:工作目錄下(freeglut/bin)

同時秀出兩張圖,茶壺 圖片

結合兩張圖,貼圖到茶壺上
複製程式碼

代替原本的Texture()
再給參數
成功貼圖至茶壺上




沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...