顯示具有 03360812蔡杰修 標籤的文章。 顯示所有文章
顯示具有 03360812蔡杰修 標籤的文章。 顯示所有文章

2016年12月30日 星期五

03360812蔡杰修 HW03

這次作業內容是Level&Curve
Level是對圖片的輸入色彩值和輸出色彩值設限制,使圖片呈現出不一樣的風格樣貌。
要如何對圖片的輸入色彩值和輸出色彩值設限制,然後去得到新的色彩值這個時候就需要用到數學公式


這是原本圖片的色彩值輸入輸出函數圖
X軸對應的是輸入,Y軸對應輸出

這是限制輸入色彩值範圍在45-225
和輸出色彩值30-150的函數圖

原圖1

經Level過後的原圖1
(輸入45-225輸出30-150)

經Level過後的原圖1
(輸入150-155輸出30-150)

經由Level過後亮度有些地方可能會變亮或變暗,而色彩呈現就只會減少或不變,因為色彩值範圍最多就0-255,做限制的話只會讓顏色呈現變少。

再來是Curve
Curve跟Level大同小異,只是Curve不在局限於直線函數圖,而是變成了曲線函數圖,這樣子色彩或亮度又會增加許多不同的變化,不過目前只能設定一個點,這樣變化其實也不太大,不過能設定10幾個點的話那圖片的呈現可能就會非常的特別。
原圖2

經Curve後的原圖2-1
(X:105----Y:160)變明亮

經Curve後的原圖2-2
(X:157----Y:109)變昏暗

經Curve後的原圖2-3
(X:36----Y:237)變明亮

結果也是跟Level一樣
經由Curve過後亮度有些地方可能會變亮或變暗,而色彩呈現,經由觀察圖2-1和圖2-3,明顯就是2-3顏色幾乎偏綠黃白這部分顏色了,而圖2-1的花辮紫色部分還在,因為修改得比圖2-3少。

結論:
我覺得Level&Curve可以使用在修改風格或單純調整明暗這個部分,修改明暗很明顯,所以就不提了,而風格這部分就很像很多修圖軟體的暖色風格或是清涼風格之類的,不過可能就需要配合色彩模型了,先結合暖色系或寒色系,再調亮度,最後調整輸入輸出我覺得就可以達到自己喜歡的圖片了。

2016年12月26日 星期一

03360812蔡杰修 HW06

本次作業內容是色彩模型(Color Model)
主要是介紹RGB色彩模型和YUV色彩模型的關係
它們互相轉換都各有公式
現在要呈現的是Y固定一個值UV為0-255的平面

這是Y為0時的UV圖

這是Y為中間值時的UV圖(大概取的一個位置)

這是Y為255時的UV圖

要呈現上幾張圖的話,需要使用RGB和YUV之間轉換的公式



上述的Clip需要自行宣告
int clip (int num)
        {
        if(num>255) num=255;
        if(num<0) num=0;
        return num ;
        }
再來是點擊UV圖來取得新的UV轉換成新的顏色圖片
因為Y固定了所以有新的Y、U和V的值
然後對原圖進行新的YUV轉換
不過目前只能讓Y固定在0對圖進行轉換



正常圖
錯誤圖

以上圈圈是點擊處

很明顯最後一張的顏色錯誤了,而且試了好幾次,才知道原來Y固定在0
Y只能固定=0的原因是因為我使用原本圖片的Y
顏色會變是選了Y=0的UV
TrackBar所選出來的Y根本沒加入
後來我想想把它們的Y相加除以2
結果如下




結果還不錯,TrackBar的Y確實有混和進去了,會跟著Y呈現正確的顏色

結論:
在討論到YUV之前我還真的不知道有YUV色彩模型的存在,一直到上這堂課後才了解,因為是早期運用在電視上的的技術,所以可能比較少人知道,最後還有最重要的就是RGB和YUV之間的轉換,不過轉換的公式真的有點不太了解,好深奧的數字...。

03360812蔡杰修 HW05

本次作業內容是Filter濾波器
濾波器根據不同的效果還分成很多種
而這次所教的Filter有平滑(Smoothing)濾波器、銳化(Sharping)濾波器和中值濾波器

首先是平滑濾波器
它主要是對圖片模糊化和減少雜訊
此為原本的遮罩(一個正常圖片)

下圖為平滑濾波器的遮罩圖
此遮罩上的數字為權重,類似將圖片的像素分成9塊,而每塊所佔的比例,平滑濾波的權重注重中心的比例所以已中心為準,越外層的權重越低。
遮罩對應以下程式碼:
iSum=     1 *bptrImageRow0[(i-1)*3+k] + 2 *bptrImageRow0[i*3+k] +  1 *bptrImageRow0[(i+1)*3+k]
           +  2 *bptrImageRow1[(i-1)*3+k] + 4 *bptrImageRow1[i*3+k] +  2 *bptrImageRow1[(i+1)*3+k]
          +  1 *bptrImageRow2[(i-1)*3+k] + 2 *bptrImageRow2[i*3+k] +  1 *bptrImageRow2[(i+1)*3+k];
這段程式碼基本上就是濾波器的核心了,其他種的濾波器也都是改這裡的權重參數就可以呈現了,當然還要加上該設的條件。
原圖1

經平滑濾波器的圖1

撒胡椒鹽的圖1

經平滑濾波的胡椒鹽圖1

結果確實有模糊化,但雜訊也是被模糊,並沒有太多的消除。

再來是銳化濾波器

這是銳化濾波器的遮罩圖
程式碼也是
iSum=  -1 *bptrImageRow0[(i-1)*3+k] + -1 *bptrImageRow0[i*3+k] +  -1 *bptrImageRow0[(i+1)*3+k]
         + -1 *bptrImageRow1[(i-1)*3+k] +  9 *bptrImageRow1[i*3+k] +  -1 *bptrImageRow1[(i+1)*3+k]           + -1 *bptrImageRow2[(i-1)*3+k] + -1 *bptrImageRow2[i*3+k] +  -1 *bptrImageRow2[(i+1)*3+k];
不過還需要加上
if(iSum>255) iSum=255;
if(iSum<0)iSum=0;
以免超出範圍0-255

原圖2

經銳化濾波後的圖2

銳化濾波器的目的聽名字就知道了,它就是要把圖片的特點銳化特化出來,很明顯的月球的坑洞輪廓變深了,被強調出來了。

最後是中值濾波器
在做中值濾波之前要先做胡椒鹽雜訊
胡椒鹽圖3(8%)

胡椒鹽圖4(20%)
雜訊做完後才是輪到中值濾波器上場
中值濾波器主要是消除脈衝雜訊
它的遮罩是需要排列的,將色彩像素作排列後,取最中間的值
這就需要把核心程式碼做點變化了。
我的作法是將那九格的色彩像素存在陣列中進行排列,輸出就是最中間的那個值。
經中值濾波後的胡椒鹽圖3(8%)

經中值濾波後的胡椒鹽圖4(20%)

中值濾波器的確有消除雜訊的效果,但如果雜訊太多的話,可能就沒辦法完全消除了。

結論:我覺得基本上整個濾波器的核心就是
iSum=  -1 *bptrImageRow0[(i-1)*3+k] + -1 *bptrImageRow0[i*3+k] +  -1 *bptrImageRow0[(i+1)*3+k]
         + -1 *bptrImageRow1[(i-1)*3+k] +  9 *bptrImageRow1[i*3+k] +  -1 *bptrImageRow1[(i+1)*3+k]           + -1 *bptrImageRow2[(i-1)*3+k] + -1 *bptrImageRow2[i*3+k] +  -1 *bptrImageRow2[(i+1)*3+k];
再來是依想要的效果進行修改,而遮罩的部分可能就需要用到微積分來取得了,最後還須要想一下它是否會超過範圍0-255再加上限制就不會出錯了。

2016年12月17日 星期六

03360812蔡杰修 HW 02

這次作業是做直方圖均化,但在做之前,要先計算得出所選圖的RGB,並將其做成直方圖(比較容易看出RGB分布),比較重要的是累計直方圖,雖然很簡單,只是將其值累加起來而已,但這計算有錯誤的話,會影響到最後直方圖均化的結果。

上面3個是RGB的直方圖
下面3個是RGB的累計直方圖

寫出程式後,真的覺得比例好難抓,因為現在相片像素都很高,計算下來的數值有些可能過高,也可能過低,所以只能大概抓個幾%比例來顯現出來,所以有些過小的值可能就剩一丁點看太不到,而過大的值突破天際。


原圖1

for(i = 0;i < iHeight;i++)
    {
    PtrImageRow = (Byte *)Image1->Picture->Bitmap->ScanLine[i];
    AF = (Byte *)Image2->Picture->Bitmap->ScanLine[i];
    for(j = 0;j < iWidth;j++)
           for(k=0;k<3;k++)
           {
           AF[3*j] = 255*bl[PtrImageRow[3*j]]/sum[0];         
           /* ->新的色彩值=255* cdf ( f( x , y ) )
           AF[3*j+1] =255*gr[PtrImageRow[3*j+1]]/sum[1];
           AF[3*j+2] = 255*re[PtrImageRow[3*j+2]]/sum[2];
           }
    }


均化過後的圖1
很明顯原來過暗的地方全部都看得到了


原圖2


均化過後的圖2
我覺得拿一張正常的圖片均化後,反而更怪異,顏色整個走樣了。

結論:
直方圖均化我覺得是拿來用在可能有些地方過暗的圖片,想更清楚凸顯過暗的部分,經過均化後可能就跑出來一隻鳥或一座山,拿正常的圖片來均化真的不太適合。

2016年10月4日 星期二

03360812蔡杰修HW01

PhotoImpact X3

當初會選擇PhotoImpact X3的原因是因為它是我近期所接觸到的多媒體軟體,那時為了幫助媽媽網路拍賣的生意,所以幫她做一些修圖的工作,這軟體也是他推薦給我的,使用了一陣子,也熟悉了它的操作環境,所以選擇了PhotoImpact X3 


這是PhotoImpact X3剛進入的操作畫面,功能多樣化
不過好像有比其他比較專業的軟體的功能少一點
但是在實作上還是夠用的


先從左邊的工具列介紹起:
其實我發現他的工具很多都跟小畫家還蠻相似的,所以很容易上手,但是還是有幾個工具是比較少見的,譬如說:

1.選取工具,它的功用是選取物件,選取後可以對此物件進行修改或刪除,對我來說很方便,因為網路拍賣有些有需要印上LOGO,這時候就可以使用選取物件進行放大縮小移動等的動作。

2.標準選取工具,這個工具也很常用到,此工具是已選取的範圍為主,跟選取工具大同小異,只是目標變成一個範圍了。

3.路徑編輯工具:這工具很像是將一個區塊做填滿的動作,可以用來繪圖,他還分成4種區域選取方式,如圖。


路徑繪圖工具是以矩形或圓形來進行選取;輪廓繪圖工具而是以"曲線"圍成的區域進行填滿
線條與箭頭工具顧名思義就是做線條和箭頭用的;最後如果所繪出來的圖方向.大小.長度友不滿意的地方則可以使用路徑編輯工具來做調整。

4.移除紅眼:有拍過照的人會發現有時候看到相片的時候,眼睛大約瞳孔的位置會出現紅色的點點,看起來很不舒服,此功能就是為了解決這問題而出現的,用來消除眼睛紅點。

5印章:說實在,我覺得他根本就是小畫家的噴漆,只是他出現的是很小的圖案,用法跟噴漆一模一樣。


圖片上3個小點點就是印章的圖案,看似小點點其實是蘋果

工具列我只挑選了幾個工具做說明。

再來是上方的選項

有些選項跟工具列的工具功用差不多

所以我選擇一個比較特殊的選項來說明


特效是為了讓照片或影片更具有吸引力,而且是旁邊的工具列所沒有的,所以我選擇此選巷做說明

1.光線:調整整個相片的色彩亮度,有冷色系.暖色系的調整,還有其他創意光線,可以做出不同的感覺,下圖式調整冷色系的介面


2.藝術:將整張圖以不同的方式呈現,例如:水彩.油畫.卡通的方式呈現,有很多種風格可以挑選



水彩風格的選擇頁面

3.扭曲:將整張圖以大自然特效的方式呈現,例如:風.漩渦.水波等



4.填充與材質:可以利用其他小圖片進行填充的特效或是使得圖片的顏色有漸層的效果



  5創意特效:比較特殊的特效,例如:馬賽克.翻頁.顆粒特效



再下面3個工具比較偏向影像的部分使用的還不熟悉

所以大概介紹到這邊

心得總結:現在的影像處理軟體APP功能大同小異,但使用的環境界面習不習慣因人而異,這點促使人覺得方不方便,當然不斷的推陳出新是很好的,但也要注意環境界面的調整更動,手機APP和電腦軟體的操作抑是如此,我有使用手機的APP來比較過,覺得手機有比較方便。