顯示具有 99360800 游騰翔 標籤的文章。 顯示所有文章
顯示具有 99360800 游騰翔 標籤的文章。 顯示所有文章

2013年1月6日 星期日

JPEG影像壓縮_99460800_游騰翔


JPEG影像壓縮

1.       實作例圖,選擇原因


這張圖片是本次實驗的影像。之所以選擇的原因是其顏色豐富且附有趣味性,並且在實驗不會因為單色調造成數值過於趨近於某些範圍,才能夠使得數值變化較多。

2.       pspad截圖, 從頭開始解讀數據

FFD8:影像開始標記(SOI)

FFE0 0010:應用數據標記(APPO),這是應用程式可以把一些資料放入加以儲存的區塊,長度為0010也就是十進制16並且跳過繼續讀取到FFDB。

FFDB 0043:定義量化表標記(DQT),為量化表的參數開始的標記,並且可能會有多個標記,像此次範例有2組長度皆為0043也就是十進制67,這兩個表格之後會分析。

FFC0 0011: 幀數開始標記(SOFO),此區域長度為0011也就是十進制17並且跳過繼續讀取到FFC4。

FFC4 001F/00B5(為一組,共兩組):定義Huffman表標記(DHT),第一個的長度為001F,編號是00,為DC的0號,
第二個的長度為00B5,編號是10,為AC的0號,
第三個的長度為001F,編號是01,為DC的1號,
第四個的長度為00B5,編號是11,為AC的1號,
之後分析會加以解釋之。

FFDA 00C0:掃描開始標記(SOS),表示掃描開始的位置,長度為00C0也就是十進制12。

PS:以下的部分因為部落格對於文篇較長的文章會產生格式錯誤的問題,以下提供連結已供瀏覽。

2012年11月22日 星期四

色彩模式實現_99360800_游騰翔

色彩模式實現
版面配置:


三原色:

光/顏料的三原色:




光的三原色:
先在畫布上設定三個圓點,再scan畫布,若scan到的點離圓心在半徑長度內就修改三個圓(分別代表R、G、B )的值為255。

先把整張畫布設為黑色(0,0,0),再掃描時修改,就像把顏色重疊一樣。

顏料的三原色:
先把畫布設為白色(255,255,255), scan畫布時點離圓心在半徑長度內就修改三個圓(分別代表R、G、B )的值為0。

程式寫法:
1.canvas->elipse畫圓
2. 修改影像的像素點,用剛開始教的指令” Image->Canvas->Pixels[i][j] = (TColor)RGB(r,g, b)”(利用Pixels[i][j]的值)

演算法的效率:
到了上課老師有針對著個部分做詳細的解說:用Pixels是一個二維陣列放入每個像素點的RGB值,之後再進入scanline做處理,因此速度比scanline直接修改片慢。

一個用scanline直接修改和一個用Pixels的值修改效率比scanline慢了不少。

色彩立方體:

RGBColorCube-Blue-0:

RGBColorCube-Blue-255:

RGBColorCube-Green-0:

RGBColorCube-Green-255:

RGBColorCube-Red-0:

RGBColorCube-Red-255:


色彩立方體,就是一個三維的六面體,X,Y,Z分別代表R,G,B,每個面都是在三個參數的表現 ,雖然只是利用ScanLine來實現,卻能夠清楚表現出來色彩的漸層變化。

YUV色彩模型:

YUV-Y-0:

YUV-Y-127:

YUV-Y-255:


Y表示亮度,U表示色度,L表示濃度。

其中RGB與YUV的轉換公式為:

R = Y + 1.13983 * V
G = Y – 0.39465 * U – 0.58060 * V
B = Y + 2.03211 * U

這種模式對亮度較為著重,針對亮度的敏感程度的需求

整數型數值轉換:

C = Y - 16
D = U - 128
E = V – 128

R = clip(( 298 * C           + 409 * E + 128) >> 8)
G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)
B = clip(( 298 * C + 516 * D           + 128) >> 8)

此方法為老師所教,捨去浮點運算,較為快速。

目的:可讓圖片成單色調改變其色彩風格

HSI色彩模型:

HSI-I-0.5:

HSI-I-0.25:

HSI-I-0.75:


H是色調,S是飽和度,I是亮度

在Scan全圖時,每一個點都須算出相對應的H,S,I值才能夠轉換為對應的RGB值。

結論:

本次作業對色彩模式HSI,YUV,RGB等的理解,與三種色彩模式之間的關係和原理。
特別的是對於這次特別有感覺,因為過程所碰到的問題特別多,
例如:RGB顏色疊加時無法疊加,呈現出來的是覆蓋,換了老師之後的ScanLine法和詢問同學的Pixels更改法,才順利解決。
還有HIS的運算方式,要依照角度的不同去算出對應的函數值。一開始忽略了有四個象限,造成運算後的圖形顏色與需要的圖形迥異。但是在之後就由搜尋解決了問題。
一個Bug一個Fix這樣的學習感覺比較強烈,也更有印象。

2012年11月15日 星期四

濾波器_99360800_游騰翔

影像濾波



目的:去除雜訊或強化物體的邊緣位置。

濾波器種類:

  1. 平滑濾波器:降低雜訊。
  2. 中直濾波器:極大的降低雜訊。
  3. 銳化濾波器:強化物體的邊緣位置。



影像的品質可能會受到雜訊、照明不均、或對比不夠的影響
雜訊主要來源是攝影機或影像擷取卡




版面





均值(平滑)濾波器

均值濾波器是一種線性濾波器

目的:用來平滑影像。

做法:將每一個像素的周圍的像素值加起,然再以平均值取代該像素值。

結果:將變化較大之像素的像素值縮小。




中值濾波器


此類雜訊,通常是以黑色或白色的點,隨機出現在擷取的影像內,與周遭像素顯得格格不
入,因此容易分辨


目的: 對隨機雜訊.脈衝雜訊,提供了絕佳的雜訊降低效能。

做法:將每一個像素的周圍的像素值以及本身共9個值取中值。 

結果:中值濾波器可以將雜訊去除,而仍然能夠保持邊緣的銳度。







銳化濾波器

目的:是為了凸顯強度上的變遷,或者是用來強化物體的邊界線。

做法:現做拉普拉斯變化表圖,再加上原圖。



結果:會增強影像中的微細部分或恢復己經模糊的細節。



        這次的作業讓我直覺地聯想到了許多市面上的APP與修圖軟體,或者是相機.手機裡拍照的效果處理。其實這些的原理都是以這些為基礎發展出來的,再針對各種不同的問題再改寫演算法等等。而這些原理其實一直以來都與生活環環相扣,不懂時用的很開心,了解以後使用的更有意義。
         雖然中間在理解的時候有許多地方無法通悟,但是在課後的討論以後慢慢的一點點的解開,上課有聽不一定會懂,而上課不聽想懂都難。更何況在不懂的情況下根本無法寫任何的程式,因為要先有基礎的觀念,要懂此濾波器目的以及做法,不然就算程式在好也是枉然。



























2012年10月19日 星期五

影像處理作業:影像直方圖與影像均化_99360800_游騰翔


        這次的作業本身包含了環境熟悉以及直方圖與均化效果,這都是程式領域。但我想真正的精隨是在課堂上的講解,雖然沒有帶著寫程式,卻能夠了解作業的內容與意義,這就是老師說的上課目的。雖然看程式碼可以理解程式的目的,卻不能夠理解這麼做的原因,所以上課認真聽講是必須的行為。

        環境熟悉不外乎元件操作和指令語法,不過在http://ipc-yklee.blogspot.tw/ Week2: C++ Build 基本概念中有部分的操作講解,在加上方便的Google搜尋解決了這部分所有的問題。

        圖片匯入以及匯出,要寫程式開啟一張 BMP 影像,是利用 OpenPictureDialog 和 SavePictureDialog 以及 LoadFromFile 與 SaveToFile,以及老師上課有提過的小技巧:
Timage : Image Properties and Image Event :
AutoSiz:true or false: 是否讓影像元件的寬、高隨著 Load 進來的影像大小自動調整。
Stretch:true or false:
是否讓 Load 進來的影像大小自動隨著影像元件的寬、高顯示出來。

        色彩統計資訊 -圖像分析以及直方圖產生


匯入影像的面板截圖


直 方圖的面板


累積直方圖的面板


累積直方圖(單色與三色)



直方圖(單色與三色)

 均化效果
強化對比,可以解決光線不足時無法辨析的問題。

均化前




累積直方圖(單色與三色)



直方圖(單色與三色)


均化後






累積直方圖(單色與三色)



直方圖(單色與三色)

錯誤修正

變數型態與範圍的設置會影響圖形的輸出


在Debug時發現的最大值問題


        過程其實並不順遂,經常跑出很多問題。尤其是在運行時才發覺有些部分觀念錯誤,直到星期二晚上留校與大家討論後,才把問題與觀念一一釐清。而且這樣的課程在有聽講與做筆記之下,以及課後的留校練習與討論。知識吸收讓我頗為驚訝,這樣的過程確實讓我的學習動機漸轉強烈。








2012年9月21日 星期五

閱讀心得 99360800 資工三乙 游騰翔




  記得第一堂課老師就要我們帶上數位相機時,心情是十分激揚的。因為欣賞是我最喜歡做的事情,但記錄卻不在行。即便當天我無法拿到一台相機來把玩,仍是對影像有著濃厚興趣。
  以至於在老師鼓勵之下,到了圖書館馬上尋找。以"攝影.影像.軟體"這三個方向下去搜索,最後在軟體書籍的區域找到了它,軟硬具備的"百科"。

  在翻開的當下直覺地翻往"目錄",畢竟目錄即是一本書的精隨。一眼瞬間的剎那欣喜若狂,本書入門卻能夠講解的如此廣泛,必然是首選書籍。
  剛開始就直接進入"數位相機",完整清晰的解釋同時不會感到艱澀難懂。短短的一分鐘即刻理解數位相機的結構以及特色。
  理所當然在求知慾的推進下我毫不猶豫的翻往下一頁,立刻看見的攝影的基礎也是第一步的關鍵。"構圖"是一張影像成型前最重要的一步,這一步同時也是決定這張影像是"隨手一拍"還是"獨具匠心"。
  在稍加翻閱後,不外乎趕往與課程緊緊相連的部分"影像"。對影像我們不陌生,但對影像的概念及知識卻形同陌路。我們與之共存,卻未曾關注,實乃遺憾。不過這一下子的就讓我輕易擁抱,我想這又讓我再一次有股衝動馬上借回去細細品嘗。
  最後書上這張是我在意外滑落此書時,使雙眼為之一亮的地方"色彩深度"。這內容本身沒有太大的吸引力,因為技術的本身並不難,但是對於一個資工人要有精準的敏銳度。馬上讓我回憶起"多媒體概論"的課程上,黃世育老師用"Processing"授與影像處理的眾多技巧之一"色彩深度"。同時喚起了過往課程中帶來的激昂情緒,當然也渲染至對於"影像處理"這門課程的期待。

  最後放上一張在以前蒐集攝影相關資料時,意外發現的一張圖片。裡面詳細的介紹"焦點範圍",清楚的圖解使很多攝影朋友們都感到方便。同時分享給此課程的同學們,共勉之。

本書不只對課程有意義,即便是想玩攝影的朋友,也能提供不少幫助。
對於資工的同學們肯定極為方便,亦可把它當成工具書來使用。

PS:本書後面還有特別介紹PhotoShop的簡易功能與使用。