顯示具有 95360822 林冠宇 標籤的文章。 顯示所有文章
顯示具有 95360822 林冠宇 標籤的文章。 顯示所有文章

2010年1月8日 星期五

hw8

在上完作後一堂課後個人可以感受理論與實作的差異
就像是專題研究一樣
把心思好好花在程式碼的撰寫
是我對這堂課最大的收益
對影像處理的運用
比以前更加清楚
由書上學的理論與公式
再去網路上找尋相關的指令運用
在bug中找到自己應該修改的地方
在最後一堂課
大家討論這堂課的比重與方向
我個人覺得這堂課的hw剛剛好
並不會壓到喘不過氣
亦因此才更覺得得好好學習
理論不懂
你會再多也都死板
理論讓我更了解應該怎麼去實作
實作後讓我更加熟練
感覺比強迫教學還來的有意義
至少感覺不差

這門課的難處有三:
(1)將理論轉換成實作的邏輯設計
(2)實作時,在網路上搜尋所需要的指令功能與運用
(3)寫文章,寫出自己真正想表達的東西

好處:
自我學習與實作

hw6

此作業在於模糊化將一像素點與他周遭各點依照九宮格的權重(如下圖九宮格)
將周遭的像素點的值加成在一點上再取平均
讓新圖的每個點數值更加接近
如下圖6-1
圖內左圖為模糊化過後的圖
右圖為原圖
可以看出模糊化後線條部分更加不明
而各點色彩會與周遭更加接近
幾次模糊化後
整張圖將會變得幾乎無法分辨的感覺
全因模糊化時會將分界也一併模糊
個人覺得把各點與周遭乘上權重加起來後
更重要的是你要除以甚麼
必須將原本各權重的值加起來當作最後負責平均的數值
才不會讓加權過後的值超過
或是不明確


圖6-1

HW5

作業中將把灰階圖
透過把原本八位元的二進位rgb值轉換成小於指定位元的值
例如下圖5-1輸入5後會位元最高限定在5
即會把位元剩下原本最後五位數前面補0
我直接用除法的方式把前面的位數去除
(當然也可以用老師教的>>方法)
去除後線條部分會更加明顯
加強分界感
由圖5-1與圖5-2的差別可以看出
輸入5與輸入6後明顯明暗差別跟線條感差距


圖5-1



圖5-2

2009年11月13日 星期五

HW4

原圖:

這次所要交的作業是將原圖做
乘冪律轉換
公式
s=c*(r^garmma)

s為新圖
garmma與c為常數
r為舊圖
個人覺得較重點在於
將(r^garmma)所算出的值
範圍維持在0~255之間
畢竟像素的範圍為0~255所以
c就得設定為(255^(1-r))
RGB分別帶入運算後
在統一家回像素
garmma帶入0.2時結果如下:



加強區域亮度
讓原本過暗的地方
可以清晰顯示

加強區域暗渡
讓原本過亮的地方
亦可清晰顯示

2009年11月11日 星期三

課堂上做負片圖

上一次上課
老師在課堂上
教大家做負片的功能,
負片主要方式就是將每一點的RGB反轉
也就是都用255去減掉RGB值後再取絕對值
利用分析RGB柱狀圖的方式
已經可以分別對RGB作設定

HW3

實作RGB的柱狀圖
利用Bitmap可對二維圖像,
單點RGB個別取值的特性,
個別統計整張圖,
圖中每一列RGB的多寡,
並依照數值可以分析顏色的趨向。
為了控制分析圖的大小,
線性搜尋統計最大者,
當作柱狀圖的大小參考。
code: bmp.GetPixel(x, y).R;
為對bmp 取他的R(red)值 (G 為green)(B 為BLUE)

圖1原圖

圖2柱狀分析RGB圖

HW2

根據上課時所提出的轉換矩陣公式,
利用 bitmap可陣列化的特性,帶入公式。

接著是較難的部分,
定義框架位子。
也就是說你得計算出框架
於新的Bitmap裡的位子。
我選擇用角度
去算出旋轉過後的圖的底下那個三角形。
也就是說下圖紅色的部分
就是我用來訂出框架四個座標點的參考。


當然設計過程包括設計防錯機制,
但唯一的缺點
是我所設定的陣列必須取整數值,
所以對於角度的正餘弦轉換造成的小數值必須取Ceiling
所以在三次以上的旋轉後會造成模糊產生

2009年11月10日 星期二

HW1

首先必須先道歉這麼晚交作業,請見諒。

此為HW1開圖檔並顯示
我在課堂聽老師說要如何開檔後開始研究C語言相關指令
並用C#介面實作
基本上開檔大同小異以宣告一個Bitmap來接收所要求的路徑位子的圖檔(and picture only)
code: Bitmap bmp=new Bitmap(FileName);

圖1 開檔找路徑

圖檔選擇後用Bitmap接收並且直接將Bitmap丟進PictureBox.Image
code: PictureBox.Image=bmp;

圖2 顯示圖片