顯示具有 96360741 簡維煜 標籤的文章。 顯示所有文章
顯示具有 96360741 簡維煜 標籤的文章。 顯示所有文章

2010年1月17日 星期日

HW08

期末感想


關於這學期上的課程說真的一開始沒有甚麼特別的想法

只是純粹來上這一堂課

但是經過一次次上下來的感覺

覺得這堂課其實還蠻充滿樂趣的

因為我有在接觸攝影這一塊( 雖然時間並不久)

但是因為上過這堂課讓我知道後製的技巧也是很重要的

或許那技巧自己看書學也是可以學得會

可是有老師這樣在一旁帶過吸收會更深入

而且不像自己看書時只懂得照著一步一步去調各種變化值

而是可以從程式上,原理上去瞭解!

有時候到後面還會有點走火入魔咧

像為了作業六想說趁著禮拜五下午一整個空就找朋友諶哥跑去借了513的教室

測試測到最後決的問題真是越來越多,可是也越來越有趣的感覺

一頭鑽入討論裡面執行某些效果時是如何讀取RGB值

怎麼有時會被切到,有時圖會偏黃,偏紅或偏藍

總之那天真是恨不得老師剛好在旁邊阿!

雖然外面天空已暗還是想說衝上去辦公是看看好了

想說如果禮拜六老師會不會在學校? 結果剛好沒空要回家改考卷

另外,講到這課本的內容

我覺得如果想要了解原理是甚麼的話

或許還不會太難用,因為裡面講的還蠻詳細的

而且也有圖片出來給我們看差別

只是到了真正要打程式時,我覺得要把理論突然轉成程式快難倒我了

一開始的作業或許還好

但越到後面真的越不知所措阿

還好老師有接受提議提供了範例程式,不然真的不知道一個作業就會卡多久了

所以到後來覺得學習狀況還不錯啦!

這是我第一次接觸到BCB這樣的軟體

還蠻容易把自己想要的東西完整呈現在自己面前,是看的到的!

感覺小有成就

最後謝謝老師一學期的教導,不辭辛勞且為了我們學習來改變教學方式

謝謝老師了,謝謝 ^_^

HW05

位元平面一開始作起來就是困難重重

讓我很摸不著頭緒

其中一行( 以第8個button為例)

Pixels[j][i]=((bit8>>7)&0x1)?clWhite:clBlack;

關於這行同學的指點後,其實當下還沒有完全瞭解

幾經思索和上網找資料後才明白這行的意思

原來是要利用上面位移和比對一起作 "^"

當作下一張圖的位元分析,就把像素值和以下

00000001
00000010
00000100
.
.
.
10000000



運算方式
10010101 (像素)
X 00000001 (比對值一)
------------------------------------
00000001 (依序一一比對下去)



這八個bit作比對

還有要讓程式判斷顏色後產生黑白即-----> clWhite:clBlack

也就是控制黑色與白色的調色盤





而且跟同學討論時有個問題我們一開始一直沒有注意到以至於沒有任何東西Run出來

就是AutoSize的開關為 true時有時候會有連自己都無法解釋的錯誤出現

果然一改結果就可以出來了

以下就是執行出來的畫面


原圖:





1-bit





2-bit





3-bit






4-bit






5-bit






6-bit






7-bit






8-bit


HW07

關於這次作業是用Sobel去作轉換

用兩個遮罩呈現梯度銳化的效果

分別是水平遮罩和垂直遮罩來控制整個的變化



所以利用兩個陣列來把數值平方作加法再行開根號

沒有甚麼太大的問題

這是原圖




然後這是灰階圖作梯度銳化後與原圖的比較


乍看之下好像沒甚麼問題,可是當試著用彩色圖去Run時


彩色圖梯度化

可以看到雖然有作轉換且成功,但仔細一看會看到右半邊臉似乎有很多的紋路出現

一開始是想說會不會是我找的圖才會有這樣的效果

於是想說試著把裡面的值作一些差距上的變化,把1 ˇ -1--->0.1 ˇ -1;2ˇ-2 --->1ˇ-1



有了不一樣的感覺


有感覺到剛剛紋路的問題似乎消失了

可是整張圖卻也變得黯淡許多

於是再回到初始設定試著只把2ˇ-2 --->0.1ˇ-0.1



發現得到這樣的結果

明顯有明亮了一點,可是當min超過0.1時會有溢位的問題產生就是了

不過倒是觀察出當梯度銳化效果明顯時其值越小越好

彩色部分還是有小問題存在( 依然會有彩色出現 )

或許這一部份要在找時間好好釐清會比較瞭解一點

因為灰階圖去跑時沒有問題出現

應該是程式碼有地方想得不夠周全,要再多請教別人了!





2010年1月16日 星期六

HW06


上面圖是這次關於空間律波轉換的概念呈現

用遮罩的方法把圖片顯示出來

雖然有老師程式碼的幫助有少了不少時間

但在實際去弄的時候發現有小困難出現

就是當從黑白圖片變成彩色圖片去測試時需要把自定變數的地方設為 3

即 bPtrResultImage[l*j+k] 中的 l 值作修改

如果沒有修改會發生只有三分之一或三分之二的部分被切掉,像是 ↓


所以才會考慮加一個 l 值去作一些測試

不過在此還有一些問題讓我蠻困惑的

因為當初想到如果有被切掉是不是因為RGB值沒有完全掃到呢?

所以在k迴圈裡把*l 通通改成*k----> bPtrResultImage[k*j+k]

結果圖是有完整的跑出來了卻也得到了下面的結果 ↓


最後索性把有關 k 值的東西都刪掉,得到的結果更是驚奇 ↓


圖片完全變成黃色,雖然老師原本的範例沒有 *3 的話

圖片只有出現三分之一,至少還會有一些顏色都還在

但是為了想要呈現全部所以加上*3的動作,但是Run過之後的圖片全轉成黃色了

這著實讓我蠻困惑的就是了


但透過這次這次作業絕的律波處理似乎值得再繼續把玩一番!

但針對這作業內容的部分

是採用 Mask1*bPOriIma[3*(j-1)+k]

再根據公式去設定

1 2 1

2 4 2

1 2 1

就可以得到第一張圖的結果

但差別真的不大,要仔細看才可以感覺到真正的差別












2010年1月15日 星期五

HW4

Gamma=3
由這張圖可以看到將Gamma調到 3 時對比度明顯的增加



Gamma=0.5
而當Gamma調到0.5時很明顯可以看出和3的差別,整個畫面有淡化的感覺




這次的作業是有關於Gamma的校正轉換

s = c * r ^ γ 

s:轉換後的值。

r:原始值。

c:常數值。

γ:Gamma值。

在一開始的時候因為忽略掉RGB色彩值設定範圍的問題

以至於結果一直不如所預期的出現

還是要像老師所說的把色彩值固定255範圍內,固定完後就將其轉換成公式


gmMR[i][j] = pow(255,1-x)*pow(MR[i][j],x);

gmMG[i][j] = pow(255,1-x)*pow(MG[i][j],x);

gmMB[i][j] = pow(255,1-x)*pow(MB[i][j],x);



重覆執行結果時卻有一種持續持續加深或持續淡化的結果

經過詢問後才知道原來友人也是一樣的問題: 限制條件設錯位置

才導致只有當第一次執行時會有正確的結果

如果繼續執行會有剛剛說的現象出現

透過這次作業了解到改變Gamma值的變化

除了眼睛看到的強度不同

也會改變內部圖片中紅對綠對藍彼此的比例

不過要注意對比度會有個極限值

當低於這個極限值時,影像對比度會被減少到一個無法接受的水準









2009年12月17日 星期四

HW03


關於這次作業,一直拖了很久,一開始想到說如何做到能讓圖片顯示出來時


能夠自動的縮放,而不用再用上下與左右的拉bar才能看整張完整的圖片


透過Google大神找尋各種看起來好像有方法的論壇


結果發現問題跟實際討論的內容有很大的出入(就跟老師之前一樣)


找不到自己問題的解答,才一直的卡關


看了看老師了關於之前直方圖均化的範例程式的這兩行


iImageHeight = imOriginal->Picture->Height;

iImageWidth = imOriginal->Picture->Width;

才知道原來多了這兩行,圖片才可以順利進行瀏覽

只是跟我想像中的好像又有點不一樣

畢竟我旁邊還是要用到拉bar才可以看到完整的圖片

不過我想這問題我可以之後再繼續研究

我覺得這次的教學方法還不錯

可以真正直接知道老師程式的邏輯是怎麼進行的

還有哪些比較關鍵的KEY

不過這畢竟還是老師的方法

我要能夠實際瞭解,甚至作更好的改良

才能算是我真的學會了!

這次直方圖有想說要一張張呈現

但後來想想還是全部一起呈現比較可以去作觀察

最後程式執行一段時間後會有終止,使得我沒辦法繼續使用別的功能

我想我得再找出原因

另外,這次我也一併把之前教過的負片效果一起呈現出來

這次由於是經過老師的範例程式與同學互相討論


所以這次大部分是作程式理解的作用!


對於程式中型態轉換的問題總是在偵錯中找不到困惑許久


BCB似乎對這種錯誤沒辦法明確指出


不過最後還是有找出來就是了



2009年10月16日 星期五

HW02



跟大家的困惑一樣,對於這次作業搞得一頭霧水

上次上課時對於sin cos的轉換沒有說很了解

還是上網尋找了資料以及詢問對BCB稍微較熟悉的同學

一開始轉出來的圖片雖然有達到一開始要旋轉的目的

但不明瞭圖片為何偏離主畫面甚多

後來對於x,y除了必要的角度轉換外


另需要對其作正負調整

x=(int)((i*cosine-j*sine)+270);

y=(int)((i*sine+j*cosine)-70);
目前暫時作出大概的樣子
其中詳細轉換的部分想做更深入的了解
想試試每一點 Pixel 能否不要超出界線以致圖片完整
我想這是我想理解的地方











2009年10月2日 星期五





































一開始摸索時,有碰到小困難,畢竟第一次使用BCB

連軟體都一直安裝失敗,最後沒辦法還是過來學校這裡弄

不是很清楚介面是如何操作,但後來依循上課記憶和之前學長的範例

有找到方向,中間比較困難的是,一開始call出來的圖沒辦法縮放

只能夠擷取到圖的一角,不過後來有找到解決的方法


這是我第一個BCB的作業,覺得弄出來的東西

有實際展現出來的介面很有成就感

有機會的話會再試著把這一份作業做做其他功能的測試