顯示具有 00360505 邱志鈞 標籤的文章。 顯示所有文章
顯示具有 00360505 邱志鈞 標籤的文章。 顯示所有文章

2014年1月8日 星期三

HW5

這是的作業是Color Model。

這是Bar值為0的Color Model
 這是Bar值為255的Color Mode
 這是Bar值為0的Color Model,和後面點圖後面的Panel會顯示該點的顏色值。
  這是Bar值為255的Color Model,和後面點圖後面的Panel會顯示該點的顏色值。



這次的作業有點繽紛,顏色的類別有點多,做完這次的作業,對顏色的理解也變強了,未來如果要選顏色的話,也比較知道怎麼去選擇。

2014年1月7日 星期二

HW6

上了這一堂課,
學到了很多關於photoshop的一些觀念,
運用那些觀念自己做出一些副程式,
學到了很多,
也增加了一些對於XE2 物件的使用方法。

前幾周介紹XE2的使用方法,
接下來是對於對於影像的一些分析,
計算RGB畫出Histogram,
接下來Levels、Curve這兩個是photoshop一些小功能的先由這兩個入門,
再來進階一點的Filter,
有不同的濾波方法,
還有將圖片模糊化、銳化、和平滑化。
慢慢接觸到許多photoshop小功能,
越來越有成就感,
對於BCB的熟練度也越來越好。

後來老師教了3D的原理,
還讓我們實作,
這個作業是我覺得最有趣的一個,
他主要的不再於程式,
而是拍照的技巧,
上課不只學打程式,
還可以學拍照,
真的很有趣。

最後學的是Color model 這個作業我覺得是裡面最難的,
要一直使用RGB和YUV間的換算,
主要還是要使用比較多的原件相互配合來達到效果,
程式碼也比較繁雜,
讓我有點無法上手,
用很長的時間才做出結果。

上完這門課,
對於影像方面的知識變多了,
程式理解也變強了,
收穫真的很多。

最重要的要謝謝老師這學期的用心指導。



HW4

這次的作業是自己寫程式合成自己所拍的左右眼照片,讓他變成了3D照片。

這是左眼的照片
 這是右眼的照片

這是程式畫面
 這是合成後的結果圖

這次作業程式部分上課聽懂了,可是真的要寫的時候,還是有一點小卡住,後來是請教了同學才知道我錯在哪,改過以後程式部分就解決了。
另外拍照的部分,真的有點難,平常對於攝影就沒有研究,所以一開始聽到要拍左眼照和右眼照時,有點傻到,完全沒頭緒,後來老師有範例圖才慢慢了解。
這個作業很好玩。


2013年12月3日 星期二

HW3

這次的作業是對圖做平滑化、銳化和中值濾波器。
首先是讀取原圖。
 再來是模糊化的程式執行結果。
 再來是銳化的程式執行結果。
 再來是加入雜訊胡椒鹽,方便後面的中值濾波做比較。
 以下就是加入胡椒鹽後的圖和用中值濾波器處理過後的比較圖。

以下這是模糊化的部分程式碼

number1= bPtrImageROW1[3*(i-1)+k]+bPtrImageROW1[3*i+k]+bPtrImageROW1[3*(i+1)+k]+
bPtrImageROW2[3*(i-1)+k]+bPtrImageROW2[3*i+k]+bPtrImageROW2[3*(i+1)+k]+
bPtrImageROW3[3*(i-1)+k]+bPtrImageROW3[3*i+k]+bPtrImageROW3[3*(i+1)+k];
 
       bPtrImageROW4[3*i+k]=(int)((float)(number1/9+0.5));


                                                      010
再來是銳化部分程式碼 用的是 151 方式
                                                      010

number2= (-1)*bPtrImageROW1[3*i+k]+(-1)*bPtrImageROW2[3*(i-1)+k]+
                        5*bPtrImageROW2[3*i+k]+(-1)*bPtrImageROW2[3*(i+1)+k]+
                                        (-1)*bPtrImageROW3[3*i+k];

if(number2>255)
number2=255;
if(number2<0)
number2=0;
bPtrImageROW5[3*i+k]=(int)((float)(number2));



這是  中值濾波器 的部分程式碼
                bPtrImageROW1 = (Byte *)Image2->Picture->Bitmap->ScanLine[j-1];
bPtrImageROW2 = (Byte *)Image2->Picture->Bitmap->ScanLine[j];
bPtrImageROW3 = (Byte *)Image2->Picture->Bitmap->ScanLine[j+1];
bPtrImageROW7 = (Byte *)Image5->Picture->Bitmap->ScanLine[j];
for (i=1; i<iImageWidth-1; i++)
{

for (k=0; k <3; k++)
{
nine[0]=bPtrImageROW1[3*(i-1)+k];
nine[1]=bPtrImageROW1[3*i+k];
nine[2]=bPtrImageROW1[3*(i+1)+k];
nine[3]=bPtrImageROW2[3*(i-1)+k];
nine[4]=bPtrImageROW2[3*i+k];
nine[5]=bPtrImageROW2[3*(i+1)+k];
nine[6]=bPtrImageROW3[3*(i-1)+k];
nine[7]=bPtrImageROW3[3*i+k];
nine[8]=bPtrImageROW3[3*(i+1)+k];
for(int a=0;a<9;a++)
{
 if(nine[a]>nine[a+1])
 {
 int c;
 c=nine[a+1];
 nine[a+1]=nine[a];
 nine[a]=c;
 }
}
bPtrImageROW7[3*i+k]=nine[4];
}
}




做完這次的作業感覺我離Photoshop更進一步了,了解了他部份的原理,程式不強的我也可以做一個簡單Photoshop,這次的作業讓我對於寫程式不再這麼懼怕。


2013年11月13日 星期三

HW02

這是第二次的作業要做Histogram 的統計和Levels的畫圖。

第一張原圖
 第二張原圖的Histogram統計長條圖

第三張Levels和曲線圖
用Levels產生出來的新圖

做完了這次的作業,感覺超新奇,這些功能都跟用Photoshop修圖的結果一樣,雖然原理很簡單,但因為我對於XE2這個工具不熟加上程式能力沒有很好,讓我苦惱許久,於是請教了一些同學,最後終於做出來了,讓我覺得原來Photoshop的那些小功能並不難。