2013年2月27日 星期三

98160185_張家薰, HW02, Week02


前言: 因為 3/13 及 3/20 會邀請 Heresy 老師來授課,授課內容是 OpenNI 2 + NiTE 2 配合 OpenCV 來寫程式, 所以今天上課,要先針對 OpenCV 及 Visual C++ 進行教學

今天任務:
1. Visual C++ 寫程式 (新增專案)
2. 下載/安裝 OpenCV (要注意 Add OpenCV to PATH)
http://sourceforge.net/projects/opencvlibrary/?source=dlp
3. 使用 Visual C++ 寫 OpenCV 程式 (練習設定 OpenCV 的目錄、Link Input 檔案)
3.1. Include 目錄 增加 C:\OpenCV2.1\include
3.2. Lib 目錄 增加 C:\OpenCV2.1\lib
3.3. Link Input 增加 cv210.lib; cxcore210.lib; highgui210.lib

4. 使用 OpenCV 得到視訊畫面

TODO: 開啟 Visual C++
 Visual Studio 2010的 Visual C++
1.1. TODO: 下載/安裝 OpenCV 
2. 新增專案, Win32 主控台
3.0. 寫 OpenCV 程式碼讀圖檔
3.1. Include 目錄 (小心, c:\opencv2.1\include; 
3.2. Lib 目錄 (小心, c:\opencv2.1\lib; 
3.3. 設定 Link 的 Input 加入 cxcore210.lib; cv210.lib; highgui210.lib

圖片:

自己的小問題:如果會有找不到 cxcore210.lib; cv210.lib; highgui210.lib重新開啟visual studio,可以解決問題
不要忘了打副檔名

// pic.cpp : 定義主控台應用程式的進入點。
//

#include "stdafx.h"
#include <opencv\highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img=cvLoadImage("c:/Hydrangeas.jpg");
cvShowImage("window", img);
cvWaitKey(0);
return 0;
}




視訊:
// camera.cpp : 定義主控台應用程式的進入點。
//

#include "stdafx.h"
#include <opencv/highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
while(1){
img=cvQueryFrame(cap);
cvShowImage("img", img);
int key =cvWaitKey(33);
if(key==27)break;

cvReleaseCapture(&cap);
return 0;
}





畫框:
#include "stdafx.h"
#include <opencv/highgui.h>
#include <opencv/cv.h>
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
IplImage * photoframe=cvLoadImage("c:/photo_frame.bmp");
//cvShowImage("photo",photoframe);
IplImage * mask=cvCreateImage(cvGetSize(photoframe), IPL_DEPTH_8u,1);
cvInRangeS(photoframe, cvScalar(254,254,254), cvScalar(256,256,256),mask);
cvNot(mask,mask);
//cvShowImage("mask",mask);
IplImage * result=cvCloneImage(photoframe);


while(1){
img=cvQueryFrame(cap);
//cvShowImage("cap", result);
cvResize(img, result);
//cvShowImage("result", result);
cvCopy(photoframe,result,mask);
cvShowImage("img", result);
int key =cvWaitKey(33);
if(key==27)break;

cvReleaseCapture(&cap);
return 0;
}




Week02, HW02

 
第一次透過寫程式使用視訊,還滿好玩的感覺!!

W2 課堂練習

第二周課堂練習
使用Visual Studio + OpenCV 讀圖片檔

程式碼
----------------------------------------------------

// 160025.cpp : 定義主控台應用程式的進入點。
//
#include "stdafx.h"
#include <opencv/highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img = cvLoadImage("c:/aaa.jpg");
cvShowImage("window",img);
cvWaitKey(0);

return 0;
}
-----------------------------------------------------
圖片擷取


第二題
開啟視訊並且拍照
程式碼
------------------------------------------
#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img = cvQueryFrame(cap);

while(1){
img=cvQueryFrame(cap);
cvShowImage("img",img);
int key=cvWaitKey(33);
if(key==27) break;
}

cvReleaseCapture(&cap);
return 0;
}
--------------------------------------------------------


Week02

Week02





課堂練習

第一個程式碼:載入圖片

第二個程式碼:視訊
可以完成今天的練習,很開心!

陳品如_98160726,HW02


今天學到了用openCV開啟一張圖與抓取視訊。



#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img=cvLoadImage("c:/12345.jpg");
cvShowImage("windw",img);
cvWaitKey(0);
printf("hello");
system ("pause");
return 0;
}






#include "stdafx.h"
#include <opencv/highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img = cvQueryFrame(cap);
while(1){
img = cvQueryFrame(cap);
cvShowImage("img",img);
int key = cvWaitKey(33);
if(key==27) break;
}
cvReleaseCapture(&cap);
return 0;
}



HW2

心得:今天上課的課程讓我學到很多有關互動技術的東西,課程有很有趣~,老師也教我們很多程式碼,這次的課程讓我獲益良多!!

HW02, Week02, 99160132_劉翊晨


#include "stdafx.h"
#include<opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
CvCapture*cap=cvCreateCameraCapture(0);
//IplImage*img=cvLoadImage("c:/99160132.jpg");
IplImage*img=cvQueryFrame(cap);
while(1){
img=cvQueryFrame(cap);
cvShowImage("img",img);
int Key=cvWaitKey(33);
if(Key==27)break;
}
cvReleaseCapture(&cap);
//cvWaitKey(0);
return 0;
}

99160291鄒宛妮.week02.hw02




程式碼我看得懂
還可以跑
最後還可以照像真的頗開心的

98162123 陳志軒 第二周進度

本周進度:
        
#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img = cvQueryFrame(cap);
//IplImage * img=cvLoadImage("c:/aaa.jpg");

while(1){

img=cvQueryFrame(cap);
cvShowImage("img",img);
int key=cvWaitKey(33);
if(key==27)break;
}

cvReleaseCapture(&cap);
return 0;
}


        今天學會了如何使用visual c++開啟視訊,感覺還滿好玩滿有趣的,只是還不會加上老師教的附加相框的功能,還需要再研究研究。

99160866陳冠倫week02 hw02




                                                                            第一個







第二個視訊




今天學了visual studio c++基礎    都有做出來很開心

99160556 徐煒智 Week02 Hw02


今天的課程上有學到如何用opev CV 讀取圖片及用讀取視訊...


程式碼:

// 99160556.cpp : 定義主控台應用程式的進入點。
//

#include "stdafx.h"
#include "stdlib.h"
#include <opencv/highgui.h>


int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap=cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
while(1){
 img=cvQueryFrame(cap);
 cvShowImage("img", img);
 int key=cvWaitKey(33);
 if (key==27) break;
 }
cvReleaseCapture(&cap);
system("pause");
return 0;
}

HW02,Week02

1.


#include "stdafx.h"
#include <opencv/highgui.h>


int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img = cvLoadImage("c:/aaa.png");
cvShowImage("window",img);
cvWaitKey(0);
return 0;
}

2.
#include "stdafx.h"
#include <opencv/highgui.h>


int _tmain(int argc, _TCHAR* argv[])
{   CvCapture * cap=cvCreateCameraCapture(0);
 IplImage * img=cvQueryFrame(cap);
 while(1){

    IplImage * img=cvQueryFrame(cap);
 cvShowImage("img",img);
    int key=cvWaitKey(33);
 if (key==27)break;
 }
 cvReleaseCapture(&cap);
 return 0;
}


Week02,Hw02,99160770_吳姿儀

 1. 安裝opencv2.1(OpenCV-2.1.0-win32-vs2008.exe) 
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/
**選第二個(Add OpenCV to the system PATH for all user)或第三個選項(Add OpenCV to the system PATH for current user)




2. 開啟visual studio 2010(Visual C++)
http://www.microsoft.com/visualstudio/cht/downloads#d-additional-software
 **File->New->Project->Win32主控台應用程式->取名稱->不要選"先行編譯標頭檔" 





範例程式1:(一般)

#include "stdafx.h"
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
printf("Hello");
system("pause");
return 0;
}



 
<圖片要存在專案資料夾內!!>
<每開一次新的專案必須重新設定!!>
解決辦法>>
http://msdn.microsoft.com/en-us/vs11trainingcourse_newidefeaturesforcpp_topic4.aspx

3. 使用 Visual C++ 寫 OpenCV 程式 (練習設定 OpenCV 的目錄、Link Input 檔案)
3.1. Include 目錄 增加 C:\OpenCV2.1\include;<不可加空格!!!!!!>
3.2. 程式目錄 增加 C:\OpenCV2.1\lib;<不可加空格!!!!!!>
3.3. Link Input 增加 cv210.lib; cxcore210.lib; highgui210.lib;<不可加空格!!!!!!>


                                                                       屬性介面


      3.1. Include 目錄 (小心,c:\opencv2.1\include;後面不可以加空格哦) 
                              3.2. 程式目錄 (小心,c:\opencv2.1\lib;後面不可以加空格哦)

          3.3. 設定 Link 的 Input 加入 cxcore210.lib; cv210.lib; highgui210.lib;


範例程式2:(opencv--show圖片)

#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img = cvLoadImage("1.jpg");
cvShowImage("window",img);
cvWaitKey(0);

return 0;
}




範例程式3:(opencv--視訊)

#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img = cvQueryFrame(cap);

while(1){
img=cvQueryFrame(cap);
cvShowImage("img",img);
int key=cvWaitKey(33);
if(key==27) break;
}

cvReleaseCapture(&cap);
return 0;
}


範例程式4:(opencv--視訊相框)



心得:
之前都是使用Dev C++來跑OpenCV,此次上課小葉老師教使用Visual studio C++來跑OpenCv,雖然安裝和設定步驟有點煩雜,以及執行時會出現小錯誤等,但最後成功時也會莫名的開心和有成就感,藉由這次上課所教的之後也可以回家試著安裝看看。



Week02-99160061-洪蓁乾

今天第二週(2/27)進度: 使用 Visual C++ 配合 OpenCV 進行圖片及視訊的互動
1.Hello:
   先開啟visual studio c++ 程式然後先試試看以前DEV C++ 學過的簡單程式碼,
   有成功的執行出來。
2.圖片:
   這時候就有加上OPENCV的部分,是要下載opencv 2.1.0的版本,
   去更改專案屬性裡的程式碼目錄,使opencv/highgui 成立
   以下是我的成果-
   

3.視訊:
    依照老師上的講解,試著自己去嘗試,羅技的射影機直接與opencv去做連接,
    使opencv取得視訊,每一秒33張圖片,而且每一秒都去做及時的更新,
    加上這次的視訊機器真的是很高級,可以立即聚焦又清晰,使照到的物品都格外的有感覺。
    以下是我成果-
     

    謝謝老師讓我們使用到那麼好的器材,而且也因為業界老師關係,
    耐心地教我們opencv,真的很感動,還有一步一步的教我們程式碼的運作及原因,
    最後還特地秀了一下視訊以外還能加的特效,真的很厲害!!!!

    我會加油的。   

HomeWork02 邱昱杰

步驟一
安裝OpenCV,至網站http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/下載"OpenCV-2.1.0-win32-vs2008.exe"並安裝,在安裝中選擇Add OpenCV to the system PATH for all users.



步驟二
左方選VC++ 目錄,右方選Inclulde 目錄加上C:\OpenCV2.1\include;
步驟四
步驟四
int _tmain(int argc, _TCHAR* argv[])
while(1){


安裝完成後,開啟Microsoft Visual Studio 2010,選左上角檔案→新增→專案,安裝範本選擇"Win32主控制台應用程式,專案名稱輸入"CamOpenCV",按下確定,接著要求勾選選項的時候,先行編譯標頭檔不要勾選。




步驟三
在左方專案名稱上按右鍵→屬性,



程式庫目錄加上C:\OpenCV2.1\lib;
接著左方選連接器→輸入,右方其他相依性加上cv210.lib;cxcore210.lib;highgui210.lib




回到編譯頁面,輸入以下程式碼,編譯執行,就可以得到視訊的畫面視窗了。

#include "stdafx.h"
#include <opencv/highgui.h>

{
CvCapture * cap = cvCreateCameraCapture(0);
IplImage * img = cvQueryFrame(cap);

img = cvQueryFrame(cap);
cvShowImage("img",img);
int key = cvWaitKey(33);
if (key==27)break;
}
cvReleaseCapture(&cap);
return 0;
}



圖片
#include "stdafx.h"
#include <opencv/highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img = cvLoadImage("c:/aaa.jpg");
cvShowImage("window",img);
cvWaitKey(0);
return 0;
}

HW02,WEEK02,98160425_蔡博堯


本周第一個OPENCV程式~今天遇到的問題是 在各個include 及其他資料庫裡加入opencv的資料來源~最後還是成功了~但第一次拿視訊拍自己真的不大習慣





int _tmain(int argc, _TCHAR* argv[])
{   CvCapture * cap=cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
while(1){

    IplImage * img=cvQueryFrame(cap);
cvShowImage("img",img);
    int key=cvWaitKey(33);
if (key==27)break;
}
cvReleaseCapture(&cap);
return 0;
}
這是今天所打的程式 老師教得實在是太好玩了!!自己寫出來的感覺真的是不一樣!

第一個openCV程式


今天第一次使用openCv
下面是使用opencv秀出一張圖,今天所遇到的困難是:上網找openCv的程式檔下載及安裝,以前修過影像處理的課~他是使用DevC++來做操作,今天是第一次使用vsualC++來操作所以有點不習慣。



------------------------------------------------------------------------------------------------------------
下面是使用opencv來做視訊~附上照片及程式碼。






// 991605311.cpp : 定義主控台應用程式的進入點。
//

#include "stdafx.h"

#include <opencv/highgui.h>


int _tmain(int argc, _TCHAR* argv[])
{
CvCapture * cap=cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
while(1){
img=cvQueryFrame(cap);
cvShowImage("img", img);
int key=cvWaitKey(33);
if (key==27) break;
}

//IplImage * img=cvLoadImage("c:/aaa.jpg");
cvReleaseCapture(&cap);
return 0;
}

Week02,HW02,99160273_程柔淇

1.Hello

2.ShowImage
3.視訊