顯示具有 HW5 標籤的文章。 顯示所有文章
顯示具有 HW5 標籤的文章。 顯示所有文章

2020年1月13日 星期一

06360984 翁明緯 HW5

色彩模型

這次要介紹的是YUV色彩模型,裡面Y指的是亮度、UV是彩度。
我們這次的YUV模型將UV值固定Y值由使用者變更。
以下是把Y值由0~255的漸進


可以非常清楚的看出來Y值(亮度)在進行改變Y越大亮度就越高。

2020年1月11日 星期六

06360426 鍾誌杰 HW5

RGB色彩模型

RGB色彩模型,顧名思義有R、G、B三個色彩值,除了在三維空間中用立方體表示以外,我們還可以用RG、RB、GB三個大小為255x255的平面來表示所有色彩。如RG平面可以調整B值0-255,就能呈現的所有色彩,其他平面以此類推。

YUV色彩模型

接下來是YUV色彩模型,Y表示明亮度,UV表示色彩。
我們一樣用上面提到的方法,用scrollbar來調整Y值來呈現UV平面。


可以很明顯的看出,代表明亮度的Y值越高,UV平面的亮度也會跟著變亮許多。

接下來就來實作在RGB及YUV之間做轉換吧!
用實數表示的Y界於0~1之間,U界於 -0.436~0.436之間,V界於 -0.615~0.615之間,為了避免處理上的麻煩,我們用以下公式將值轉為在0~255之間。



需要注意的是當值超過0-255之間時,要將超出的值調整為0或255。
有了以上的轉換公式,我們需要做的就是先得到明亮度Y,接著就可以點擊UV平面來將圖片調整成我們想要的顏色了。

2020年1月10日 星期五

06360293 楊哲銓 HW5

色彩模型

RGB色彩模型

R(紅色)、G(綠色)、B(藍色)三原色來決定所顯示出的顏色。
若要表示所有顏色需要一個三維空間,因此在平面的螢幕上是做不到的。

因此若要在平面上表示顏色,我們採用了一張圖片+拉條的方式來呈現。
以拉條決定R、G、B其中一個的值,就可以用一張圖片來顯示該範圍內的所有顏色。


YUV色彩模型

以Y(明亮度)、U(彩度)、V(彩度)才決定所呈現的顏色。


實作YUV色彩模型



上方三張圖片為在不同的Y(亮度)情況下所呈現出來的UV平面。
在實作的前提下,必須將YUV的範圍也看成0~255以便轉換成RGB色彩模型中的顏色,整數空間中的公式會比實數空間中的公式淺顯易算得多。

將YUV轉換為R、G、B後即可以顯示在程式上。

點擊YUV色彩模型為圖片加上遮罩

要為圖片加上顏色遮罩,首先必須把原圖片的RGB轉換為YUV,並只保留Y(亮度值)。
UV則以點擊的位置來決定彩度的多寡。


這邊多為了不同的YUV色彩模型的亮度做了處理,遮罩的亮度亦會影響到原始圖片的亮度,但仍會保留原始圖片各個像素的亮度差異。





一旦點擊到了YUV色彩模型,程式會將原始圖片轉換後的Y保留,並以點擊事件中的X、Y參數來決定U、V值(因為圖片大小已設為256,因此X,Y參數皆為0~255,則可直接視為U、V值),在依TrackBar所指定的Y值對原始圖片的Y值做亮度處理,這邊採用:圖片轉換後的Y值-(255-TrackBar指定Y值)的方式對亮度做出差異。

YUV運算好之後需要再轉換回RGB才能填入圖片中顯示。

結論

三維空間中才有辦法顯示出所有顏色,不論是RGB色彩空間或YUV色彩空間皆是如此,因此選用了指定某值,顯示其餘兩值的平面的方式來實作色彩空間的顯示。

原本在點擊套用濾鏡時,YUV色彩模型的亮度不會影響到原始圖片轉換後的Y值,但是覺得YUV亮度不同的情形下應該也要做處理,因此加上了針對點擊位置亮度作調整的步驟。

2020年1月5日 星期日

06360870 曾志敏 HW5


色彩模型
我們最常見的色彩模型有兩種,一種是RGB色彩模型,還有一種是YUV色彩模型。RGB色彩模型,就是三原色的模型通過不同程度的顏色加在一起然後呈現。YUV色彩模型跟RGB色彩模型相同,都是用三個量來描述顏色,分別用Y代表亮度,U.V代表彩度
RGBYUV公式:



YUVRGB公式:



Y 實際是由 30 的紅色加上 59 的綠色再加上 11 的藍色所組合而成的,由於人類視覺對於 紅、綠、藍三原色的感受不同,而這個比例組合而成的灰度 Y 信號,恰好可以實現黑白影像的真實灰階感;【Y = R 0.3 + G 0.59 + B 0.11】,【R - Y = R 0.7 - G 0.59 - B 0.11】,【B - Y = R 0.3 - G 0.59 - B 0.89


YUV的採樣格式如圖所示:


444YUV三個分量具有相同的水平和垂直解析度。
 4:2:2YUV三個分量具有相同的垂直解析度,但在水平方向上,UV兩個分量的解析度是Y的一半。即每4個亮度分量樣本值,對應有2U2V色度分量樣本值。
4:2:0,在水平方向上和垂直方向上,UV兩個分量的解析度是Y的一半,即每4個亮度分量樣本值,對應有1U1V色度分量樣本值。

心得:
由於程式不會寫的關係,只好上網查找有關的色彩模型的資料作為本次作業題材。

2020年1月3日 星期五

05360135 曾睿芃 HW5

色彩模型
這次作業是RGB色彩模型與YUV色彩模型,都是用來表示色彩的方式。
首先RGB色彩模型是以三維空間座標來表示不同程度的紅、藍、綠光。而程式的實作是先取RGB裡兩個顏色繪出平面圖形,之後第三個顏色是透過加上TrackBar來改變。

下圖從左到右分別為GB平面(R=0)RB平面(G=0)RG平面(B=0),下方拉霸可以分別調整R,G,B的值。

YUV色彩模型,分別用Y代表亮度,UV代表彩度。黑白電視就是只有Y值的概念。程式實作YUV色彩模型如下圖所示,從左到右分別為Y=0, Y=0.5, Y=1

最後我們可以將原本彩色的照片先轉為黑白照片,讓照片只包含亮度Y,然後套用想要的UV值,就可以得出不同色階的照片,實際操作的如下
 UV值為黃色
 UV值為綠色
UV值為紅色
總結:這個單元讓我對色彩有更多的了解,原本講到顏色只知道RGB三原色,現在也能想到YUV是亮度和彩度的控制,是為了人們的需求而發明。另外這次作業遇到的問題是使用TrackBar元件時,不知道要用Maximum屬性來設定TrackBar控制元件可表示的範圍上限

2018年1月18日 星期四

03361204 王甯 HW5

色彩模型


概要

所謂的色彩模型是表示顏色的方式。


  RGB模型:也就是我們最為熟知的三原色模型,透過不同程度的紅綠藍三種色光疊加出想要的顏色。在課堂中讓我印象深刻的是上面這個圖,將RGB模型轉換到XYZ座標平面上,變成一個立方體,接著即可利用切片的方式得到各個色彩平面。



  YUV模型:Y是亮度(Luminance)、UV合稱色度及濃度(Chrominance)。在早期規劃彩色電視時,RGB模型占用的頻寬是黑白的三倍而不佳,才使用YUV。對於YUV模型,若只顯示Y訊號將與黑白電視相同而相容。

  RGB模型與YUV模型可以互相轉換:

最後,除了上述模型之外老師在課堂中還有提到HSV模型,其中H是色相(Hue),SV則分別是飽和度及明度(Saturation, Value)。外觀看起來像是錐狀寶石,讓我覺得非常特殊。

這類模型因為比RGB模型在XYZ座標系統更為直觀,所以更常出現在影像處理軟體中。

2018年1月17日 星期三

04360783 沈郁翔 HW5:色彩模型


期末了,這是最後一個作業,
由於事情稍多,請原諒我沒有太多的時間去把它做好。

YUV 調色盤繪畫雖然問題不大,但在範圍上面糾結了一些時間,
似乎規格都有一點點差異,最後我把整個範圍映射到 [0, 255] 間處理。


(圖 1)原始圖片
由於有了上次畫曲線的經驗,將滑鼠控制移植到選色上面不構成威脅。


(圖 2)YUV 選色的圖片
有一個瑕疵是,我的 YUV 調色盤的旋轉了 90 度。
這源於繪製顏色時忘了考慮畫布的特性、以及跟我的迴圈設計有關係。
(圖 3)YUV 調色盤

2017年1月7日 星期六

03360652 閻美雅 HW05

空間濾波

一、圖片

〝福隆沙雕〞

〝臺北101〞

〝銘傳大學桃園校區 校景〞

〝銘傳大學 校徽〞

〝龜山島〞

        1. 平滑化

            使影像模糊化,用來隱藏小細節

            ※無權重 -> 較模糊
〝福隆沙雕〞

            ※有權重 -> 較清晰
〝福隆沙雕〞

        2. 銳化

            用來強化影像小細節,並凸顯色彩強度的變化

            ※四方位
〝臺北101〞

            ※八方位
〝臺北101〞

        3. 浮水印

            ※預設位置
〝銘傳大學桃園校區 校景〞

            ※自己選擇位置
〝銘傳大學桃園校區 校景〞

        4. 撒胡椒鹽

            ※撒胡椒鹽
〝龜山島〞

            ※可以撒很多很多胡椒鹽 → 雜訊多
〝龜山島〞

        5. 去雜質

            ※中值濾波器
                參考周圍取中間值
〝龜山島〞

            ※最小值濾波器
                參考周圍取最小值
〝龜山島〞

            ※最大值濾波器
                參考周圍取最大值
〝龜山島〞

            ※雜訊過多,導致中值濾波器無法將其去乾淨
〝龜山島〞

二、心得
        「平滑化」
                這部分單純帶入兩個PPT的公式,公式其實很簡單,做過一遍就會記得起來;
        但是如果老師沒有給參考公式,要如何自己想到此方法,還真的不是那麼容易。
        主要是讓影像變模糊,使其小細節被忽略,但若模糊程度過大,反而會壞事,
        因為會使影像整個模糊不清,不過還是要看要運用在哪裡,C a s e  b y  c a s e!
        總之,拿捏平滑化的係數其實是很重要的!
        「銳化」
                銳化可凸顯色彩強度的變化,會使影像看起來更加清楚。依照銳化結果我覺得,
        說不定可以運用到需要找邊的問題,就算不一樣,應該也會有點類似吧!
        「浮水印」
                好用,可在影像標記出處,演算法也很簡單,只需把要重疊的點相加取平均即可!
        但也因如此,如果能拿到浮水印的原圖,就表示我們可以將式子反推回去,如此一來,
        就可以去掉別人上的浮水印了!因此,如果我以後要自己上浮水印,我一定記得,
        把式子改一下,弄個係數什麼的,讓其他人無法輕易就去掉我的浮水印!
        「撒胡椒鹽」
                如果是像我一樣亂撒,其實沒什麼難度,只要 r a n d o m 一下就好!有進階版,
        就是讓人選擇雜訊要佔幾%,並且讓這些雜訊接近平均的撒在影像上,這很難辦到!
        因為想知道需要幾個雜訊並不難,難事難再讓雜訊平均分布在影像上面的這件事。
        假設我現在要撒的雜訊只有10個,但是我的影像大小為 256 * 256 ( 甚至更大 ),
        那麼什麼時候該撒雜訊就很不好辦了,因為如果抓得不好,可能只跑到影像前三行,
        我的10個雜訊的 q u o t a 就已經用完了,那個雜訊就只分布在上面;相反的,
        如果我雜訊要撒90個,而影像大小為 10 * 10 ,那麼就可能發生整張影像都跑完了,
        還有剩下的雜訊 q u o t a 還沒有用。如此一來,撒胡椒鹽這回事,似乎真的不簡單!
        因此,我只寫了小小的幾行程式,讓使用者可以調整胡椒鹽相對的多寡,
        而無法指定胡椒鹽確切要佔幾 %。此外,我有讓胡椒鹽有兩種顏色( 黑 & 白 ),
        讓胡椒鹽看起來相對更雜亂一些。
        「去雜訊」
                我寫了中值濾波器、最小值濾波器和最大值濾波器三種方法去雜訊。
        其實這三個濾波器演算法大同小異,都是參考周圍的色彩值,差別只在於,
        要選擇哪一個而已。其中中值濾波器就挺大眾的,可以將大部分Case的雜訊去除;
        而最小值濾波器我覺得最適合用來去除偏白色的雜訊,最大值濾波器則剛好相反,
        可以用來去除偏黑色的雜訊。但依照老師PPT上的方法,也就是指參考周圍一圈,
        能力有限,當雜訊相對數量多時,就無法完全去除乾淨。
                此外,我也拿過真的撒了胡椒鹽的玉米濃湯影像丟給程式跑,結果發現,
        胡椒鹽根本就沒有去掉!後來我亂玩了一下,先把影像銳化一下,再執行中值濾波器,
        有去掉是有去掉,但是只去掉其中的一、兩個小黑點,還不是整個胡椒鹽!
        然後我開始思考原因,覺得原理應該跟雜訊太多去不乾淨一樣,因為中值濾波器,
        是參考周圍一圈的色彩值然後取中間值,那如果某個雜訊很不幸周圍一圈也都是雜訊,
        那取中間值依然還是雜訊啊!想來想去,讓我想到一個辦法,應該可以解決問題,
        如果…我參考的色彩值不只周圍的一圈,而是兩圈、三圈…到很多圈,
        那麼不就可以在雜訊是一大群的 C a s e 中,選到非雜訊的色彩值了!
        至於要參考幾圈,可以讓使用者自己調整,直到真的去掉雜訊為止。真是好辦法呢!