覺得是救星!
首先先下載opencv2.1
並安裝完成
注意安裝過程 (Path選項)
接下來開啟Code::Blocks
並進行設定
再來最重要的就是設定環境
有可能會無法執行
但是資料夾裡要包含所有東西
最後就可以成功執行2D的影像
-------------------------------------------------------------------------------
現在加入freeglut的設定
產生一個2D及3D的圖形
要自行下載freeglut
然後資料夾的處理如下
接下來一樣開始設定
最後可以做出一個會旋轉的茶壺(3D)跟毛怪(2D)
-------------------------------------------------------------------------------
再來把毛怪貼到茶壺上
以下是老師的示範
我自己做一次
----------------------------------------------------------------------------------------------------------------
最後做一個會自轉的球並把圖貼上去
#include <opencv/highgui.h>
#include <GL/glut.h>
#include <opencv/cv.h>
float angle=0;
GLUquadric * quad;
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(90,1,0,0);
glRotatef(angle,0,0,1);
gluQuadricTexture(quad,1);
gluSphere(quad,0.5,30,30);
///glutSolidTeapot(0.3);
glPopMatrix();
glFlush();
angle+=0.1;
}
void init()
{
quad = gluNewQuadric();
IplImage * img=cvLoadImage("1.jpg");
cvCvtColor(img,img,CV_BGR2RGB);
glEnable(GL_TEXTURE_2D);
GLuint id;
glGenTextures(1,& id);
glBindTexture(GL_TEXTURE_2D,id);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
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);
}
int main (int argc, char**argv )
{
IplImage * img = cvLoadImage("1.jpg");
cvShowImage("2D",img);
///cvWaitKey(0);
glutInit(&argc, argv);
glutCreateWindow("3D");
glutDisplayFunc(display);
glutIdleFunc(display);
init();
glutMainLoop();
}
沒有留言:
張貼留言