2016年12月26日 星期一

openGL - GLEW, GLM, GLUT 環境架設

有鑑於環境架設常常會忘記內容,所以特別把openGL基本library的架設寫下來避免忘記,
首先是系統資訊

作業系統:win10
編譯環境:visual studio 2015
使用語言:visual C++

首先是安裝GLM,這是一個小小又簡單的library,只有使用std下的函數寫成,他用來作為openGL的矩陣表示非常方便,還有更多數學運算都很依賴他,也因為他足夠簡單,所以lib的建設方法也很快

2016年12月17日 星期六

專題 EOG眼動波 python環境架設

忘記之前環境架設的方式,所以特別再次記錄下來,

首先是先安裝python 2.7.X 基本上應該會是32bit版本 所以接下來的lib記得都選32bit
再來是要安裝wxPython library 一樣是2.7版本 32bit版
網址:https://wxpython.org/download.php

2016年10月22日 星期六

平行程式設計(1):HW1: PI 蒙地卡羅演算法

HW1要使用蒙地卡羅演算法計算PI,其過程非常簡單,就像射鏢靶一樣隨機打點在座標上,而原面積相對於整個面積的比例可以看成是射中靶的機率,如果投擲的鏢非常多,那麼落在圓中的數量比上全部的數量應該要等於圓面積比上整個面積,如此一來可以計算出圓面積就可以計算出PI了。

2016年10月2日 星期日

3D遊戲程式設計(2):ogre tutorial

接下來就開始進行一連段OGRE的教學,跟著教學順便發現一些問題然後把它記下來以免以後還會遇到。

首先是跟著範例在做加入camera跟viewport時,如果一開始在tutorialapplication.h加入override createCamera()與createViewport(),如果宣告後再tutorialapplication.cpp沒有完整定義內容的話,OGRE會期待可以初始化camera導致出現exception:don't have ogre_main.dll這個錯誤訊息,所以千萬要記得宣告完之後一定要把定義也寫完,而不要只有先宣告然後內容定義空白著。

2016年9月23日 星期五

3D遊戲程式設計(1):OGRE安裝

這學期選修了3D遊戲設計,基本上是衝著英文上課才去的,雖然有些人會認為非外國教授的英文口授其實不會讓聽力變好,但是說實在的能夠英聽的機會在日常生活中也不多,如果能用一個課堂的時間,保持專注,還能多聽些英文,我想或多或少是有幫助的。

這堂課用了一個比較古老的遊戲引擎'OGRE,為什麼說他古老呢?
因為他目前的library支援到最新的部分是VS2012,而這堂課的code建議我們使用VS2010
而現在是2016年,microsoft的visual studio目前已經全面改成2015了,更舊版本的下載方式都被微軟移除了,如果要使用2010以前的VS只能去購買premium、profession或ultimate這些付費的版本了,所幸交大授權軟體能夠讓在學學生免費下載,不過按照微軟更新的樣子來看,OGRE再不快點跟上的話,我可能以後都不會用VS來撰寫OGRE的遊戲了。

2016年8月20日 星期六

暑假作業4:filter的加速

接下來我們要開始嘗試加速filter的計算時間,其實以計算的程式來看最花費時間的地方是loop,像是遊戲的算圖等等,單純的依賴硬體計算數值的程式碼,會造成LAG的原因,通常就是因為要算的loop很大,硬體來不及跑完,所以基本上我們必須要減少迴圈的次數,更好的情況是,我們能不要用到迴圈,但是在影像處理這是不可能的,但是線性代數告訴我們矩陣的計算方式有非常多的技巧可以使用,我們可以運用這些知識,來融合在一起達到減少迴圈計算的目的。

暑假作業3:簡單的filter實作以及自由發揮

接下來就是正式進入影像處理的部分,影像簡單的來看可以看成是一個矩陣,矩陣中的數字就是每個點的顏色,我們最基礎的影像處理方式是濾波器,也就是對矩陣做矩陣乘法,接下來就來看一個最簡單的濾波器。

2016年8月15日 星期一

暑假作業2:讀取PCD檔案並轉換成RGB影像

讀取PCD檔案其實就是讀取文字檔而已,重點是PCD檔案中的內容,PCD檔案的全名是point cloud data,顧名思義就是點雲資料,所以通常會儲存一個立體空間中的資料,那麼理所當然的每一個點應該都會是有座標(x,y,z)以及顏色一共四個欄位(x,y,z,color)
打開PCD檔案如同其他影像檔案一樣,前面幾行就是檔案格式

2016年8月12日 星期五

暑假作業1:openCV影像處理

開始用這個部落格是發現很多人都會用網誌的方式記錄一些程式練習過程,一來可以在忘記的時候回來查閱,二來也可以針對自己練習過的東西做一些修正和改進。

所以我的第一個筆記就從這個小小的暑假作業開始