顯示具有 98360436 林喬立 標籤的文章。 顯示所有文章
顯示具有 98360436 林喬立 標籤的文章。 顯示所有文章

2010年12月16日 星期四

HW3

  到Sony 3D展參觀時最令我印象深刻的是,就是一開始進場時有著超大LED螢幕的3D劇院介紹,一開始分配的3D眼鏡在戴上之後前方的螢幕瞬間變成3D立體的影像,螢幕的前方有著一台大大的攝影機,可以即時的將目前拍攝的影像轉為3D的影像呈現在小劇場的的螢幕上,看著自己出現在螢幕上以3D的方式呈現出來有著不一樣的新鮮體驗,在看著播出的介紹影片時有好幾幕讓人覺得畫面中的景物就在眼前,像是一開始的MV,森林的場景中就有著很明顯的效果,樹上的變色龍及在畫面中央人物就有著很明顯的3D距離的感受,而有一幕是顆足球往攝影機的方向踢出時,足球就好像整個從螢幕中跑出,從身旁穿過的感覺,從上空俯瞰整個景觀的畫面也如同身處在空中欣賞著美麗風景,不像以往的電影,當下的感受從原本的2D平面空間轉換成3D立體的視覺空間,令人留下了印象深刻的體驗。

------------------------------------------------------------------------------------------------------------------------------------
hw3-2
在拍攝3D圖的左右眼圖片時 實際執行之後發現要有點小技巧
我用的素材是我的遊戲主機手把
一開始在拍照時因為水平移動之後的斜角拍攝的角度太大
造成了兩張圖片看起角度差異過大 完全變得不一樣了
在拍攝近距離的物體其實只要稍微斜一點點的角度就行了
以下是我拍攝的左右眼圖片

左眼
右眼
------------------------------------------------------------------------------------------------------------------------------------
hw3-3
再將兩張圖合成時我是使用Photoshop這個軟體來進行
在拍完照片時我將左眼圖片的色版只留下紅色的色版的圖片
將藍色及綠色色版全部塗黑 結果入下

接下來的重點部分就是右眼了
第一次嘗試時 我是將紅色及綠色色版給塗黑
也就是只留下藍色的色版
會有如下圖的結果

之後再將兩張左右眼的圖疊在一起
也就是將圖層的效果轉換成"濾色"(圖中紅框)
這時的結果所看出來的圖片效果非常的差

所以之後我改變了色版的處理
左眼的部分依舊只保留紅色色版
而右眼的部分則是有所變更
原本是只留下藍色色版
現在改成留下藍色及綠色色版 也就是只把紅色色版給遮掉
會變成下圖的結果
再將兩張圖合成之後就變成了如下圖所示
看起來就是一張完整的紅藍3D圖

在用Photoshop做完之後 原理就差不多懂了
開始寫BCB程式時還滿順利的
在將圖片讀入以後我取色彩時就跟用Photoshop一樣
red1 = GetRValue(Image1->Canvas->Pixels[i][j]);
green1= (GetGValue(Image1->Canvas->Pixels[i][j]))*0;
blue1= (GetBValue(Image1->Canvas->Pixels[i][j]))*0;
Image1->Canvas->Pixels[i][j]= (TColor) RGB(red1,green1,blue1 );
一樣將左眼的圖片只取紅色的色彩值 其他都設定為0
在將圖片重新上色給左眼圖片


右眼也是一樣
只取了綠色和藍色的色彩值 而紅色的色彩值存為0
red2 = (GetRValue(Image2->Canvas->Pixels[i][j]))*0;
green2 = GetGValue(Image2->Canvas->Pixels[i][j]);
blue2 = GetBValue(Image2->Canvas->Pixels[i][j]);
Image2->Canvas->Pixels[i][j]= (TColor) RGB(red2,green2,blue2 );
取到的圖則是會變成青色的


之後再按合成的按鈕
Image1->Visible = false;
Image2->Visible = false;
我是先將兩張左右眼圖片給隱藏
然後在show出合成完的圖片
red3 = GetRValue(Image1->Canvas->Pixels[i][j]);
green3 = GetGValue(Image2->Canvas->Pixels[i][j]);
blue3 = GetBValue(Image2->Canvas->Pixels[i][j]);
Image3->Canvas->Pixels[i][j]= (TColor) RGB(red3,green3,blue3);
如此3D立體的圖片就完成了!!!


------------------------------------------------------------------------------------------------------------------------------------
HW3-4
我認為當初失敗的原因可能是在處理右眼圖的時候
將綠色的色版也遮蓋掉了
造成了將兩張圖合成之後 整個圖片的呈現時 綠色這個元素完全的被去除掉了
才會造成圖片的顏色很詭異
而之後會成功的原因是因為在右眼圖片時只遮掉紅色的色版
所以綠色的色版得以保留住 所以最終在顏色的呈現上才得以完整表示

而下面的圖片是我自己將綠色的色版保留色左眼的圖片
此時雖然右眼的圖片是完整的藍色的圖片
但是左眼變成了黃色
合成之後變得是黃藍相間的圖片
也許要用黃藍玻璃紙才能看見 但是黃色本色的色彩較為明亮
相較於紅色 也許呈現出的3D立體效果會不如紅藍3D圖的明顯

在做出來之後自己用紅藍眼鏡看時還真的是滿感動的
仔細一看連鍵盤都有3D的感覺 這到是令我感到滿驚訝的
原本只是想讓手把呈現出來 沒線到意外的連鍵盤都有3D的效果
可惜的是滑鼠看起來還是沒變 可能是因為太黑了吧...
造成看不出遠近的效果
這次做的3D圖片收穫還滿多的 真的是很好玩!

2010年12月8日 星期三

HW02





這是這次的作業中做出gif動畫圖檔的素材

來源是從影片中所截取出來的圖

在每個場景中擷取兩個動作來使用

在從jpg轉成gif檔時圖片因為色彩的種類只剩下256色所以出現了一點失真現象





每張圖顯示的時間是使用0.2秒為間隔

每個動作都重複兩次 所以總共有8個場景

每個場景使用兩個畫格 動作重複兩次 總共有32個畫格




以下為做出來之後的成品:

感想:

這次在實做的時候,在一開始最先摸索的就是顯示時間,每張畫格都可以有不同的時間,在第一次調整時以為只要調整一次就好,所以產生出了第一畫格有停留一下,但是之後的畫格都瞬間顯示就沒了,後來調整每個畫格的顯示時間才完成整個作業,這次作業所使用的軟體還滿容易手,操作很容易,只要稍微練習一下很容易就熟練了。

在上傳時遇到的一些問題,就是直接上傳到部落格時發生了圖片不會動的問題,解決的方法為將圖片上傳到另外的網路空間(例如:銘傳的網路硬碟),然後在網誌"修改HTML"裡打上語法<img src="網址" / > 之後,圖片即變正常的GIF動畫檔了。


------------------------------------------------------------------------------------------------------------------------------------
HW2-2

在用開啟Pspad開啟GIF動畫檔之後出現了GIF圖片檔的format
在一開始位置00~05的地方是GIF檔的簽章
從右方的表格可以對照出是顯示"GIF89a"的字樣
緊接著位置06~07是寬度,08~09是高度
寬度的位置擺放是06~07
對應的值是2A01
但較高的位元是擺在後方所以要由位置07讀到06
所以值是16進制的012A對應出的是10進制的298也就是我圖片的寬度
同樣的 高度由位置09讀到08
16進制00FC轉換成10進制252
所以得到298*252 也就是我GIF圖檔的大小

從以下網址可以得到很多關於GIF檔案格式的資料:
http://www.onicos.com/staff/iz/formats/gif.html


關於我每張圖片的Image Block部分
先去找2C這個開頭標籤
但一開始的時候並不順利
因為在其他格式的內容也有2C的值
所以後來改成搜尋我的圖片寬度以及高度(2A01FC00)
在往前查看地5個Byte是否是2C
後來發現到了如下圖


位置是從328開始
2C後面接著的是Image Left Position(也就是圖片擺放距離左邊的位置)
以及Image Top Position
發現其值都是00
而寬度及高度則都是跟一開始的值相同(2A01FC00)
也就表示我放置動畫圖檔的大小寬度正好是符合整個GIF檔

接下來是Graphic Control Extension Block
存在位置350E0C的地方
一開始的前3個Byte都是固定的(21F904)
而存放在350F00的地方的是我的delay時間
值為16進制的14也就是10進制的20 單位為(百分之一秒)


------------------------------------------------------------------------------------------------------------------------------------
HW2-3


在這學期的所有作業中
我覺得這個讀調色盤的作業是最難的
雖然有範例程式 不過要去讀懂它還是有點困難
對於檔案處理的部分還不是很熟練
像是在取M,Cr,Pixel花了一點時間才看懂
透過在byte中的左右移來清除其他的的bit 使其為零
最後在右移到做右方
得到了所要的資訊
byte bMCrPixel透過讀檔之後一開始是存放著F7
也就是1,111,0,111
個別代表著

"整體色彩對應圖(Global Color Table Flag (GCTF))"
"8位元色彩解析度(Color Resolution)"
"區隔符號0"
"8位元的像素資料(Size of Global Color Table: 2^(1+n))"


GIFHeader[0].bMCrPixel >> 7; 執行之後就變成了
00000001 得到了第一個資訊M
而CR是接下來的3個bits
bCR = GIFHeader[0].bMCrPixel <<>
左移一次後清掉M 得到11101110
bCR = bCR >> 5;
在右移5 得到00000111 -->轉成10進制後的7
因為有0~7所以共有8個 故+1
bCR = bCR + 1;

檔案存取的格式就跟之前用Pspad所開啟的一樣



2010年11月10日 星期三

HW1




在程式中的功能主要就是選擇圖形和顏色

圖形有:圓形、正方形、三角形、六邊形、自訂形狀
其中的自訂形狀可以用左鍵來記錄形狀的點,按右鍵之後會形成圖案可以形成三角形、矩形、多
邊形等形狀

顏色的調整部分有分BRUSH和PEN,PEN的顏色改變只限定於有使用Polygon做出的形狀才會產
生的圖形邊框顏色

還有設定一個RESET鍵來重新讀取圖片,讓圖片回覆到初始讀取的狀態


心得:在這次的寫程式過程中常是了一些以前從來沒有過的元件,像是ColorDialog以及
RadioGroup,第一次學BCB 也在課堂上學到了一些內建的功能,像是用polygon這個功能來畫一
個圖形,同樣都是點四個點,但是會因為點的順序不同而產生出不同的圖形,將點依順序連線之後再將所圍出的面積塗滿BRUSH的顏色。