顯示具有 01160723_邱詠縉 標籤的文章。 顯示所有文章
顯示具有 01160723_邱詠縉 標籤的文章。 顯示所有文章

2014年6月5日 星期四

運鏡

#include <GL/glut.h>
float angleX=0,angle1=0,X,Y,angle2=0,angle3=0;
float eyeX=0.1, eyeY=0.4, eyeZ=-0.5, objX=0, objY=0, objZ=0, upX=0, upY=1,upZ=0;
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
gluLookAt(eyeX,eyeY, eyeZ, objX, objY, objZ, upX, upY,upZ);
glColor3f(0.8,0.05,0);
glTranslatef(X,Y+0.25,0);
glRotatef(angleX, 0,1,0);
glutWireTeapot(0.3);

glPushMatrix(); //頭

glColor3f(1,0.8,1);
glTranslatef(0,0,0);
glRotatef(angle1, 0,0,1);
  glTranslatef(0,0.38,0);  
  glutSolidSphere(0.2,30,30);
glPopMatrix();

glPushMatrix(); //右球
glColor3f(1,1,0);
  glTranslatef(0.4,0,0);
  glutSolidSphere(0.17,30,30);
  glPushMatrix(); //右手
  glColor3f(0,0.8,1);
glRotatef(angle1, 0,0,1);
  glTranslatef(0.3,0,0);
  glScalef(2,0.7,0.7);
  glutSolidCube(0.2);
 
glPopMatrix();
glPopMatrix();

glPushMatrix(); //左球
glColor3f(1,1,0);
  glTranslatef(-0.4,0,0);
  glutSolidSphere(0.17,30,30);
  glPushMatrix(); //左手
  glColor3f(0,0.8,1);
glRotatef(-angle1, 0,0,1);
  glTranslatef(-0.3,0,0);
  glScalef(2,0.7,0.7);
  glutSolidCube(0.2);
glPopMatrix();
glPopMatrix();

glPushMatrix(); //身體
glColor3f(0.9,0,0.5);
  glTranslatef(0,-0.32,0);
  glScalef(1,1,0.5);
  glutSolidCube(0.35);
glPopMatrix();

glPushMatrix(); //左下球
glColor3f(1,1,0);
glTranslatef(-0.15,-0.45,0);
glutSolidSphere(0.15,30,30);
glPushMatrix(); //左腳
glColor3f(0,0.8,1);
glRotatef(-angle2, 1,0,0);
  glTranslatef(-0.01,-0.25,0);
  glScalef(0.8,1.5,0.8);
  glutSolidCube(0.2);
  glPushMatrix(); //左下腳
  glColor3f(0,0.8,0.1);
  glTranslatef(0,0,0);
glRotatef(-angle2, 1,0,0);
  glTranslatef(-0.01,-0.15,0);
  glScalef(0.125,0.2,0.125);
  glutSolidCube(1);
  glPushMatrix(); //左腳掌
  glColor3f(1,0.5,0);
  glTranslatef(0,-0.5,0.01);
glScalef(1.15,0.3,1.15);  
  glutSolidCube(1);
glPopMatrix();
glPopMatrix();
glPopMatrix();
glPopMatrix();

glPushMatrix(); //右下球
glColor3f(1,1,0);
glTranslatef(0.15,-0.45,0);
glutSolidSphere(0.15,30,30);
glPushMatrix(); //右腳
glColor3f(0,0.8,1);
glRotatef(angle2, 1,0,0);
  glTranslatef(0.005,-0.25,0);
  glScalef(0.8,1.5,0.8);
  glutSolidCube(0.2);
  glPushMatrix(); //右下腳
  glColor3f(0,0.8,0.1);
  glTranslatef(0,0,0);
glRotatef(angle2, 1,0,0);
  glTranslatef(0.01,-0.15,0);
  glScalef(0.115,0.2,0.115);
  glutSolidCube(1);
  glPushMatrix(); //右腳掌
  glColor3f(1,0.5,0);
  glTranslatef(0,-0.5,0.01);
glScalef(1.25,0.3,1.5);  
  glutSolidCube(1);
glPopMatrix();
glPopMatrix();
glPopMatrix();
glPopMatrix();




glPopMatrix();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y)
{
     if(key=='a') angleX+=3;
     if(key=='d') angleX-=3;
     if(key=='q') angle1+=3;
     if(key=='e') angle1-=3;
     if(key=='z') angle2+=12;
     if(key=='c') angle2-=12;
     if(key=='1') angle3+=3;
     if(key=='3') angle3-=3;
if(key=='8') Y+=0.1;
if(key=='5') Y-=0.1;
if(key=='4') X-=0.1;
if(key=='6') X+=0.1;
if(key==' ') eyeX-=0.02;
if(key=='g')
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2, 2, -2, 2, -2, 2);
glMatrixMode(GL_MODELVIEW);
}
     glutPostRedisplay();
     
}
void myLight()
{
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("week11");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
myLight();
glutMainLoop();
}

2014年5月22日 星期四

可以播放音樂檔

#include <stdio.h>
#include <windows.h>
#include <mmsystem.h>
#include "CMP3_MCI.h"
CMP3_MCI myMP3;
int main()
{
myMP3.Load("123.mp3");
myMP3.Play();
//PlaySound("Femaleha.wav",NULL,SND_ASYNC);
int n; scanf("%d",&n);
}



2014年5月8日 星期四

木偶人

#include <GL/glut.h>
#include <opencv/highgui.h>
#include <opencv/cv.h>
IplImage *img1, *img2, *img3, *img4, *img5;
GLuint id1, id2, id3, id4, id5;
float angleX=0;
void myTexture()
{
img1=cvLoadImage("body.png");
img2=cvLoadImage("lhand.png");
img3=cvLoadImage("rhand.png");
img4=cvLoadImage("lleg.png");
img5=cvLoadImage("rleg.png");

cvCvtColor(img1, img1, CV_BGR2RGB);
cvCvtColor(img2, img2, CV_BGR2RGB);
cvCvtColor(img3, img3, CV_BGR2RGB);
cvCvtColor(img4, img4, CV_BGR2RGB);
cvCvtColor(img5, img5, CV_BGR2RGB);

glEnable(GL_TEXTURE_2D);
glGenTextures(1, &id1);
glGenTextures(1, &id2);
glGenTextures(1, &id3);
glGenTextures(1, &id4);
glGenTextures(1, &id5);

glBindTexture(GL_TEXTURE_2D, id1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img1->width, img1->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img1->imageData);

glBindTexture(GL_TEXTURE_2D, id2);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img2->width, img2->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img2->imageData);

glBindTexture(GL_TEXTURE_2D, id3);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img3->width, img3->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img3->imageData);

glBindTexture(GL_TEXTURE_2D, id4);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img4->width, img4->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img4->imageData);

glBindTexture(GL_TEXTURE_2D, id5);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img5->width, img5->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img5->imageData);
}
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angleX, 0,1,0);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='a') angleX+=3;
if(key=='b') angleX-=3;
glutPostRedisplay();

}
void myLight()
{
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("week11");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
myLight();
glutMainLoop();
}


//精簡版

#include <GL/glut.h>
#include <opencv/highgui.h>
#include <opencv/cv.h>
IplImage *img[20];
GLuint id[20];
float angleX=0;
void myPrepareTexture(int i)
{
cvCvtColor(img[i], img[i], CV_BGR2RGB);
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &id[i]);
glBindTexture(GL_TEXTURE_2D, id[i]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img[i]->width, img[i]->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img[i]->imageData);
}
void myTexture()
{
img[0]=cvLoadImage("body.png");
img[1]=cvLoadImage("lhand.png");
img[2]=cvLoadImage("rhand.png");
img[3]=cvLoadImage("lleg.png");
img[4]=cvLoadImage("rleg.png");

for(int i=0;i<5;i++)
{
myPrepareTexture(i);
}

}
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angleX, 0,1,0);
glutSolidTeapot(0.6);
glPopMatrix();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y)
{
if(key=='a') angleX+=3;
if(key=='d') angleX-=3;
glutPostRedisplay();

}
void myLight()
{
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("week11");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
myLight();
myTexture();
glutMainLoop();
}

2014年5月1日 星期四

第11週

#include <GL/glut.h>
float angleX=0;
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angleX, 0,1,0);
glutWireTeapot(0.3);

glPushMatrix();
  glTranslatef(0.5,0,0);
  glutSolidSphere(0.2,30,30);
glPopMatrix();

glPushMatrix();
  glTranslatef(-0.5,0,0);
  glutSolidSphere(0.2,30,30);
glPopMatrix();

glPushMatrix();
  glTranslatef(0,0.4,0);
  glutSolidSphere(0.2,30,30);
glPopMatrix();

glPopMatrix();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y)
{
     if(key=='a') angleX+=3;
     if(key=='b') angleX-=3;
     glutPostRedisplay();
     
}
void myLight()
{
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("week11");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
myLight();
glutMainLoop();
}

手臂可以轉動

#include <GL/glut.h>
float angleX=0,angle1=0;
void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angleX, 0,1,0);
glutWireTeapot(0.3);

glPushMatrix(); //右球
  glTranslatef(0.4,0,0);
  glutSolidSphere(0.2,30,30);
  glPushMatrix(); //右手
glRotatef(angle1, 0,0,1);
  glTranslatef(0.4,0,0);
  glScalef(2.5,1,1);
  glutSolidCube(0.2);
glPopMatrix();
glPopMatrix();

glPushMatrix(); //左球
  glTranslatef(-0.4,0,0);
  glutSolidSphere(0.2,30,30);
  glPushMatrix(); //左手
glRotatef(-angle1, 0,0,1);
  glTranslatef(-0.4,0,0);
  glScalef(2.5,1,1);
  glutSolidCube(0.2);
glPopMatrix();
glPopMatrix();

glPushMatrix(); //頭
  glTranslatef(0,0.4,0);  
  glutSolidSphere(0.2,30,30);
glPopMatrix();

  glPushMatrix(); //身體
  glTranslatef(0,-0.3,0);
  glScalef(1,1,1);
  glutSolidCube(0.35);
glPopMatrix();

glPopMatrix();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y)
{
     if(key=='a') angleX+=3;
     if(key=='d') angleX-=3;
     if(key=='q') angle1+=3;
     if(key=='e') angle1-=3;
     glutPostRedisplay();
     
}
void myLight()
{
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("week11");
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
myLight();
glutMainLoop();
}



2014年4月24日 星期四

鍵盤控制圖形

#include <GL/glut.h>
float teapotX=0, teapotY=0;
void keyboard(unsigned char key, int x,int y)
{
if(key == 'a') teapotX+=0.1;
if(key == 'b') teapotX-=0.1;
if(key == 'c') teapotY+=0.1;
if(key == 'd') teapotY-=0.1;
glutPostRedisplay();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(teapotX ,teapotY, 0);
glutSolidTeapot(0.4);
glPopMatrix();
glutSwapBuffers();
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");

glutDisplayFunc(display);
glutKeyboardFunc(keyboard);

glutMainLoop();
}

滑鼠轉動圖形

#include <GL/glut.h>
#include <stdio.h>
float teapotX=0, teapotY=0;
float angleX=0, startX=0;
void keyboard(unsigned char key, int x,int y)
{
printf("%c %d %d\n",key, x, y);
if(key == 'a') teapotX+=0.1;
if(key == 'b') teapotX-=0.1;
if(key == 'c') teapotY+=0.1;
if(key == 'd') teapotY-=0.1;
glutPostRedisplay();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(teapotX ,teapotY, 0);
glRotatef(angleX,0,1,1);
glutSolidTeapot(0.4);
glPopMatrix();
glutSwapBuffers();
}
void mouse (int button, int state, int x, int y)
{
printf("%d %d %d %d\n",button, state ,x, y);
startX=x;
}
void motion(int x, int y)
{
printf("%d %d\n",x,y);
angleX+= (x-startX);
glutPostRedisplay();
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");

glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMotionFunc(motion);
glutMainLoop();
}

#include <GL/glut.h>
#include <stdio.h>
float teapotX=0, teapotY=0;
float angleX=0, startX=0;
float angleY=0, startY=0;

void display()
{
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(teapotX ,teapotY, 0);
glRotatef(angleX,0,-1,1);
glRotatef(angleY,-1,0,0);
glutSolidTeapot(0.4);
glPopMatrix();
glutSwapBuffers();
}
void mouse (int button, int state, int x, int y)
{
printf("%d %d %d %d\n",button, state ,x, y);
startX=x;
startY=y;
}
void motion(int x, int y)
{
printf("%d %d\n",x,y);
angleX+= (x-startX);
angleY+= (y-startY);
glutPostRedisplay();
}
void mylight()
{
const GLfloat light_position[] = {2.0f, 5.0f, -5.0f, 0.0f};
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0 ,GL_POSITION, light_position);
}
int main()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMotionFunc(motion);
mylight();
glutMainLoop();
}

2014年4月10日 星期四

轉動的地球

去年的blog
http://2013graphics.blogspot.tw/2013/04/week08.html


#include <GL/glut.h>
#include <opencv/highgui.h>
#include <opencv/cv.h>
GLUquadric * quad=NULL; 
float angle =0;
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,true);
gluSphere(quad,0.8,30,30);
glPopMatrix();
glutSwapBuffers();
}
void idle()
{
angle++;
glutPostRedisplay();
}
int main(){
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week08");
glutDisplayFunc(display);
glutIdleFunc(idle);
GLuint id;
IplImage * img =cvLoadImage("earth.jpg");
cvCvtColor(img,img,CV_BGR2RGB);
glEnable(GL_TEXTURE_2D);
glGenTextures(1,&id);
glBindTexture(GL_TEXTURE_2D,id);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img->width ,img->height,0,GL_RGB,GL_UNSIGNED_BYTE, img->imageData);
quad = gluNewQuadric();
glutMainLoop();

}


2014年3月27日 星期四

可以匯入一張圖片
https://docs.google.com/file/d/0ByYbu0zjxrp1THkybHVJbGFaTGs/edit?pli=1
先下載你們需要的 葉正聖老師上課軟體.zip
裡面有兩個重要的紙盒子 (可以給 Dev C++ 用的 DevPak 檔)

1. Dev C++ 裝兩個紙盒子 (opencv1.0.DevPak, glut_3.7.6.DevPak)
1.1. 將 Dev C++ 的 Tool-Editor設定,將第3個打開(TAB)第4個關掉 (這樣你的程式排版才會正確)

2. Dev C++ 裡, File-New-Project 選 MultiMedia 的 glut 專案
2.1. 在桌面上新增一個  專案資料夾,把你的程式存在這個目錄中

3. Alt-P 專案屬性, 設定參數Link咒語

3.2. dev c++的tool裡面的compiler內加入
OpenCV咒語: -lcv -lcxcore -lhighgui (你再加這組就好,記得要有減號前空格)


4. 將所有的東西都放在同一個目錄中:
4.1. 準備貼圖所需素材 (EarthMapColor.jpg), 放在程式的目錄中
4.2. 將 C:\Dev-CPP\bin\opencv\*.dll 檔案全部放在你的目錄中 (這樣才能執行OpenCV程式)