2013年1月13日 星期日

96361115 王柏翰

                            顏料三原色                                               光三原色

顏料三原色以紅、黃、青,各色色彩在混合後會產生出新的顏色,色彩飽和度在最大值255時,兩個顏色相混可得到光的三原色,三色相混時,可得黑色。

光的三原色以紅、綠、藍組成,疊加後可產生一新顏色,而光的三原色在光線強度為最大值255時兩兩相疊可產生出顏料三原色的紅、黃、青,且同樣為最大值255時,三色相疊可呈現出白色。
光的三原色是使用黑色做為背底,顏料三圓色則是使用白色做背底,在圓的範圍內給上三色的色彩值,並且偵測重疊的地方,修正重疊區域的色彩值。
圖一

                                               圖二                                                        圖三
舉一長寬為255的正方形,左上方為0,將x軸和y軸舉為三原色中其中兩色,

圖一x軸為藍色,y軸為紅色,綠色調整為0
圖二x軸為紅色,y軸為綠色,藍色調整為0
圖三x軸為綠色,y軸為藍色,紅色調整為0

經由故定x、y軸,以及調整其中不同的數值,可以得到不同色彩的漸層影像

99360984 藍翊豪 HW4

光的三原色

顏料三原色


心得:這次程式算是簡單的,只要運用到之前程式所教到的ScanLine函式,並注意到圓的範圍與畫布顏色,就變得很好撰寫了。

99360984 藍翊豪 HW5


原圖




DC0:
L 權值 Code CodeWord
3 01 0 000
3 02 1 001
3 03 2 010
3 04 3 011
3 05 4 100
3 06 5 101
3 07 6 110
4 00 14 1110
5 08 30 11110
6 09 62 111110
7 0A  126 1111110



DC1:

L 權值 Code CodeWord
2 00  0 00
2 01  1 01
3 02  4 100
3 03  5 101
3 04  6 110
4 05  14 1110
5 06  30 11110
6 07 62 111110
7 08 126 1111110


AC0:

L 權值 Code CodeWord
2 0/1 0 00
3 1/1 2 010
3 0/2 3 011
3 0/3 4 100
4 0/0 10 1010
4 0/4 11 1011
4 0/5 12 1100
5 2/1 26 11010
5 1/2 27 11011
5 0/6 28 11100
6 3/1 58 111010
6 4/1 59 111011
7 5/1 120 1111000
7 6/1 121 1111001
7 2/2 122 1111010
7 1/3 123 1111011
7 0/7 124 1111100
8 7/1 250 11111010
8 8/1 251 11111011
8 1/4 252 11111100
9 3/2 506 111111010
10 9/1 1014 1111110110
10 A/1 1015 1111110111
10 4/2 1016 1111111000
10 2/3 1017 1111111001
10 1/5 1018 1111111010
11 B/1 2038 11111110110
11 C/1 2039 11111110111
11 D/1 2040 11111111000
11 5/2 2041 11111111001
11 6/2 2042 11111111010
11 0/8 2043 11111111011
12 F/0 4088 111111111000
12 F/1 4089 111111111001
12 7/2 4090 111111111010
12 3/3 4091 111111111011
12 1/6 4092 111111111100
13 E/1 8186 1111111111010
13 8/2 8187 1111111111011
13 2/4 8188 1111111111100
14 9/2 16378 11111111111010
14 4/3 16379 11111111111011
14 2/5 16380 11111111111100
15 A/2 32762 111111111111010
15 2/6 32763 111111111111011
16 5/3 65528 1111111111111000
16 6/3 65529 1111111111111001
16 7/3 65530 1111111111111010
16 3/4 65531 1111111111111011
16 4/4 65532 1111111111111100
16 3/5 65533 1111111111111101
16 1/7 65534 1111111111111110


AC1:

L 權值 Code CodeWord
2 0/0 0 00
2 0/1 1 01
3 0/2 4 100
4 1/1 10 1010
4 0/3 11 1011
5 2/1 24 11000
5 3/1 25 11001
5 1/2 26 11010
5 0/4 27 11011
6 4/1 56 111000
6 5/1 57 111001
6 0/5 58 111010
7 F/0 118 1110110
7 6/1 119 1110111
7 9/1 120 1111000
7 1/3 121 1111001
8 7/1 244 11110100
8 8/1 245 11110101
8 A/1 246 11110110
8 B/1 247 11110111
8 C/1 248 11111000
8 2/2 249 11111001
8 3/2 250 11111010
8 0/6 251 11111011
9 D/1 504 111111000
9 E/1 505 111111001
9 4/2 506 111111010
9 2/3 507 111111011
9 1/4 508 111111100
10 F/1 1018 1111111010
10 5/2 1019 1111111011
11 6/2 2040 11111111000
11 8/2 2041 11111111001
11 9/2 2042 11111111010
11 1/5 2043 11111111011
12 7/2 4088 111111111000
12 A/2 4089 111111111001
12 B/2 4090 111111111010
12 D/2 4091 111111111011
12 2/4 4092 111111111100
13 C/2 8186 1111111111010
13 3/3 8187 1111111111011
13 4/3 8188 1111111111100
13 0/7 8189 1111111111101
14 F/2 16380 11111111111100
14 1/6 16381 11111111111101
15 E/2 32764 111111111111100
15 B/3 32765 111111111111101
15 3/4 32766 111111111111110

心得:之前雖然有聽說過PSPad這個軟體,可是從未下載來玩玩看,直到課堂上需要,才開始第一次接觸它。打開它後載入一張JPEG圖片,便出現一大串密密麻麻的數字,然而在老師還沒講解前根本不知道這一大串數字有甚麼作用,但經過幾堂課之後,開始了解到這些數字代表著JPEG的Y、U、V轉換所需的資訊,並且如果熟悉這些資料的話,更能夠修改裡面內容,已達秘密通訊目的,雖然剛開始在分析圖片的過程中,覺得很複雜又很麻煩,可是慢慢習慣後,也能體會到其中的樂趣。




99361130 莊鈞凱 HW5

  JPEG,一種對影像的失真壓縮標準,老實說,我真的想不到有一天能夠深入了解這樣的圖片標準格式。利用PSPad開啟JPEG檔案後,映入眼前的16位元的資料,以前在看到這樣的資料時總覺得是天書,根本無從下手,現在終於了解到,下手?請翻開規格書。

(圖一)JPEG圖檔

  這就是這次拿來研究的JPEG圖片了,因為JPEG幾乎是現在網頁上最普遍可見的圖片格式,尋找圖片可說是不費吹灰之力,伸手可得。
  在PSPad官網下載該軟體後,就可以檢視該圖檔的16位元格式了,順帶一提,安裝完軟體後我的瀏覽器首頁就被綁架了,讓我不是很喜歡他。

(圖二)FFD8、FFD9

  上圖可見,資料的最前端寫著FFD8,最末端則是FFD9,如此顯而易見的事實,讓我們看看規格書怎麼說,「Start of image」、「End of image」,對啦!沒錯,就是圖片的起始和結束這麼簡單。

(圖三)FFE0

  接在FFD8之後,我們第二個可以看到的是FFE0,參見規格書的說明:Reserved for application segments,是的!此處就是讓應用程式可以塞入自己家的相關資訊,想起老師上課提到的,用Photoshop修圖後的照片,在這邊就可見端倪了。由此圖可見,有意義的字串為JFIF、Ducky,甚至還看到了Adobe的字串,總之這邊看看就好,順帶一提,JFIF全名為JPEG File Interchange Format,是JPEG的延伸額外標準。

(圖四)FFDB

  這邊我們看到了FFDB,記錄量化表的資訊,將原來人類看的比較順眼的量化矩形依照Z字型走向來羅列成這邊的序列。量化,就是JPEG失真的關鍵點了。

(圖五)FFC4

  主角登場:FFC4!這邊就是老師多次強調的部份了,這邊可以整理出兩個DC Table及兩個AC Table,以便後面的YUV資料來對應。
  首先老師有提到,有些圖片將所有的DC、AC Table資料都放到一個FFC4標籤之後,而有些圖片則可以找到四個FFC4的標籤,以此圖來說,他是屬於前者。
  從FFC4後的00B4可知道這段資料的長度為180,而00B4後的00則知道此後的一段資料為DC-0 Table,整理如下:

DC-0 Table
Category
Code length
HuffCode
Code word
3
2
0
00
4
2
1
01
2
3
4
100
5
3
5
101
1
4
12
1100
6
4
13
1101
0
5
28
11100
7
5
29
11101
8
5
30
11110
9
6
62
111110
10
7
126
1111110

  此段資料之後的下一碼為01,表達從此之後為DC-1 Table,我們一樣把他整理如下:

DC-1 Table
Category
Code length
HuffCode
Code word
1
2
0
00
2
2
1
01
3
2
2
10
0
3
6
110
4
4
14
1110
5
5
30
11110
6
6
62
111110
7
7
126
1111110
8
8
254
11111110
  此段資料之後則為AC-0 Table及AC-1 Table,做法雷同,推導上的意義是一樣的。

(圖六)FFDA

  在FFC4該段資料之後緊接著就是FFDA,規格書上寫著:Start of scan,我們可以知道從此處開始,後方就是真正掃描自圖片的編碼,在佐以前述Frame header的資訊,兩相對應,就可以把資料有意義的output出來了。

  實際上去查閱JPEG的檔案內容,感覺真的很不一樣,比較如C++那般的高階語言,這次作業像是往影像處理最根本的技術去鑽研,我們當然可以直接用市面上許許多多的影像處理軟體來操作、修改我們的圖片,然而在學術研究上,追根究底的去了解JPEG的檔案內容,對日後的研究發展可以產生很大的作用,畢竟連最根本的東西都弄懂了,馬步紮的穩,練功就好辦的多了!


99361032 資工三乙 柯雅真

JPEG影像壓縮處理

分析的圖片

利用PSPAD打開影像為16進位格式






FFDB量化表






16進位編碼經由Z字形轉換成為表格
完成表格後,可以看到有兩個FFDB標記,
一個是亮度量化表,另一個是色彩量化表

                                FFC0



                                FFC4

FFC4 Haffman表




有16編碼,從L1開始把值填入,
編碼為2的有2個,編碼為3的有3個,
編碼為4到8的各有1個, 
如果為0就可以不用看




    JPEG是對影像使用廣泛的一種失真壓縮標準方法,把影像丟進PSPAD裡進行分析,把有用的數值拿出來,沒有用的數值可以不用管它,後面的步驟是有連貫的,所以只要一個不注意,就非常容易出錯,這時就要回去檢查然後再繼續。這學期的影像處理課程,讓我學到灰階、濾波器、Histogram直方圖、色彩的三原色等,還有這次的JPEG壓縮,感謝老師的教導。