顯示具有 00360691 陳漢軒 標籤的文章。 顯示所有文章
顯示具有 00360691 陳漢軒 標籤的文章。 顯示所有文章

2013年12月25日 星期三

課程心得與回顧

課程心得與回顧
        這學期的影像處理課程學到了一些比較基本的程式,主要也都符合課程名稱,都是在處理影像,其中學了Histogram、PS Levels、Curve、空間濾波器(銳化、模糊化、中值化)、3D立體影像、色彩模型。

        其中我比較喜歡Histogram,因為程式的部分需要寫的比較多,而且要把程式優化更是需要花時間,把一些額外的功能加進去,然後會發現一些bug,再將bug解決,做出成品的感覺相當棒,不僅自己學到東西,做出來的程式也能供他人輕鬆使用。其他程式都相對少而且都偏向理論,只要知道其概念,程式都不難寫出來,所以反而不怎感興趣。3D立體影像我以前以為是多難的東西,這次接觸到才發現原來沒那麼難,將2張圖片改一改做結合,再利用特殊眼鏡看即能看出其3D效果了。

        課程意見~理論有時很簡單,但卻講解滿久的,所以反而讓上課有點枯燥無聊。

HW05

HW05
色彩模型程式實作

RGB:
利用3種顏色,先固定一顏色的值,圖則呈現另外兩色各個像素合併再加上固定色彩的像素的顏色,下面滾軸則可調動固定的色彩值的像素(0~255)。
以下為各種固定色彩像素的圖片:0,約126,255;左固定紅色,中固定綠色,右固定藍色



2013年12月9日 星期一

HW04

HW04
3D圖像製作
這次的作業是先拍攝二張分別由左眼和右眼拍攝出去,再將其中一張圖像的紅色像素,換上另一張的紅色像素,此動作即完成3D圖像。程式碼部分比起前面幾次作業都相對簡單,只是要注意存取RGB的順序是先B在G才R。

而這次最大的問題即是在拍照,拍來拍去都很不理想,不知道有沒有什麼技巧可以拍得好看點。

以下即是完成的圖片。


2013年12月3日 星期二

HW03

HW03

平滑化:
將影像中相鄰的像素(九宮格),給予權重值後乘上像素質再相加並除上權重總和再放置中間處(要變更的點),我直接給予九宮格內上下左右權重為2,中間為4,其他為1,所以將各個權重值乘上像素質並相加後在除16,即為變更後的像素。

銳化:
也是先給予權重值,但將九宮格中間的像素減去(加負值)周圍的像素,我設周圍皆為-1,中間為9,讓變更後的圖銳化的更明顯一點。

中值化:
將九宮格內的像素做排序並取中間值再放回,即為中值化。
完成後看不太出來有什麼差別...


心得:
主要遇到的問題即是Scan line index out of range,自己找來找去都找不出問題,問同學說是image的問題,加上一些程式碼後顯示出上面那些圖,但還是會跳出此問題,最後還是要問老師才發現問題。最後弄來弄去再把很多多餘的程式碼刪掉,並將功能優化,這些地方才是最花時間的地方~


2013年11月13日 星期三

HW02

HW02

  這次的作業是關於photoshop裡各種分析、改圖的顏色的功能~

1)
  首先一開始當然要先將圖片載入
if(OpenPictureDialog1->Execute())
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);


2)
a.再來我們要做的是Histogram,分析圖片裡RGB的值(0~255)各有多少

for (j=0;j<iImageHeight;j++)
{
bPtrImageRow = (Byte *)Image3->Picture->Bitmap->ScanLine[j];
for (i=0; i<iImageWidth;i++)
for(k=0;k<3;k++)
iHistogram[k][bPtrImageRow[3*i+k]]++;  down的時候為--
}

b.
  因為在這用了"原始"及"累積"的差別,所以以下為"原始"

if(RadioGroup1->ItemIndex==0)
{
for (i=0;i<256;i++)
{
iHB = int(( float(iHistogram[0][i]) * fHistogramScalar ) + 0.5);
iHG = int(( float(iHistogram[1][i]) * fHistogramScalar ) + 0.5);
iHR = int(( float(iHistogram[2][i]) * fHistogramScalar ) + 0.5);
if(CheckBox3->Checked==true){
Image4->Canvas->Pen->Color = clBlue;
Image4->Canvas->MoveTo(i*3,256);
Image4->Canvas->LineTo(i*3,256-iHB);}
if(CheckBox2->Checked==true){
Image4->Canvas->Pen->Color = clGreen;
Image4->Canvas->MoveTo(i*3+0.5,256);
Image4->Canvas->LineTo(i*3+0.5,256-iHG);}
if(CheckBox1->Checked==true){
Image4->Canvas->Pen->Color = clRed;
Image4->Canvas->MoveTo(i*3+1,256);
Image4->Canvas->LineTo(i*3+1,256-iHR);}
}
}

c.
  再來則是"累積"
if(RadioGroup1->ItemIndex==1)
{  iHB=0;iHG=0;iHR=0;    down的時候要加此程式碼不然會出錯
for (i=0;i<256;i++)
{
iHB = iHB + iHistogram[0][i];
iHG = iHG + iHistogram[1][i];
iHR = iHR + iHistogram[2][i];

if(CheckBox3->Checked==true){
Image4->Canvas->Pen->Color = clBlue;
Image4->Canvas->MoveTo(i*3,256);
Image4->Canvas->LineTo(i*3,256-iHB/5000);}

if(CheckBox2->Checked==true){
Image4->Canvas->Pen->Color = clGreen;
Image4->Canvas->MoveTo(i*3+0.5,256);
Image4->Canvas->LineTo(i*3+0.5,256-iHG/5000);}

if(CheckBox1->Checked==true){
Image4->Canvas->Pen->Color = clRed;
Image4->Canvas->MoveTo(i*3+1,256);
Image4->Canvas->LineTo(i*3+1,256-iHR/5000);}
}
}

3)












這裡做的是Level,運用數學的比例公式運算出來,再點擊Apply讓圖片作變更。
程式碼有點多就不貼出來了~













最後則是Curve,直接將滑鼠點在Image上,用到了Events裡的MouseDown,也是點擊Apply讓圖片作變更。


心得:
      這次的作業相當的精彩,自己做出來相當有成就,雖然一程式部分是老師提供的,但我想自己寫也不會寫不出來,只是會花很多時間做修正,畢竟邏輯通了,程式就容易多了。
        遇到的問題其實都不太是程式方面的問題,其中花最長時間的即是圖片檔弄錯,導致溢出記憶體,一直找不到問題,最後才發現圖片雖然也是BMP檔,但位元深度卻是8而非24。之後則遇到Histogram裡up、down的問題,關鍵的問題是在有分2種分析,原先的"原始"圖我直接分別在up、down裡做iHistogram[k][bPtrImageRow[3*i+k]]的++及--,這樣的效果即是每點一次色彩值的數目就會加減1倍,但當點選"累積"圖做down的時候卻出現異常,最後則在選到"累積"時先做iHB=0;iHG=0;iHR=0;,再進入for迴圈做畫圖,如此即解決此問題了。最後的Level及Curve因為直接複製老師的程式碼做修改,所以沒什麼問題。
        我還是認為寫程式不難,而是熟不熟悉這個開發環境,要找想用的物件每次都找好久,有滿多都是問人才知道的~












2013年9月24日 星期二

HW1


HW1

Cover art 魅拍(APP圖示)

這是一款多功能相機,包含了拍攝時能有特殊效果,以及拍攝後還能做更多修改,
這次只介紹了拍照時可以使用哪些特別效果。



左圖為最基本最原始單純拍照
跟平常我們用一般相機拍的沒什麼兩樣。


拍攝特效其一:人像

人像裡還分了許多種類
左圖為"甜美"
效果類似將其顏色塗灰變淡












拍攝特效其二:懷舊

左圖為懷舊裡的"清晰黑白"
有如以前黑白相片一樣的黑白效果
畫值則比過往更佳

拍攝效果其三:藝術

一看就知道是素描效果
個人認為非常具有特色
感覺就像真的畫出來一樣

拍攝效果其四:靜物

靜物裡的"經典相紙"
有種擺了很久泛黃的感覺

拍攝效果其五:風景

風景裡的"秋日私語"
清淡的感覺讓人很有秋天的感覺







魅拍裡還有很多改圖的功能,主要兩大項為"美化"及"拼圖",
特別是美化裡的效果更是多元,能把一張原本非常醜的照片
改到人人驚嘆的地步,實在恐怖,現在真的多是"照騙"啊~~
期望哪天有人能做出能將原始圖顯現的技術,讓大家都不會再被騙了~


以下是google play的圖片魅拍 - screenshot