顯示具有 2010hw3 標籤的文章。 顯示所有文章
顯示具有 2010hw3 標籤的文章。 顯示所有文章

2011年1月12日 星期三

HW3 3D圖

這次的作業是要拍兩張照片,把它處理成3D圖

現在能交上這份作業,真的要感謝老師把時間延後到星期三晚上,不然可能交不到這項作業,所以我趁著早上考完了試,去詢問著同學3D作業如何做,終於被我問到了,而且看了之後很簡單,
聽說上禮拜大家課堂上研究,研究出更簡單的寫法,拍兩張照片,一張是左眼照一張是右眼照,
我把左眼照取紅色,而右眼照取綠藍,再把這3個顏色丟給要顯示的圖,這樣即可完成,真的是沒有想到取3D途的原理是這麼的簡單,很不可思議,而下面是我打的程式碼















而下面是我拍的兩張左右眼的照片


















而下面是轉成3D圖後的樣子


這份作業是這學期的最後一項作業了,時間很快,現在回想起來,我們這門課也做了4項作業,
以前看到別人在修照片,做黑白灰階處理,都覺得他們好厲害,感覺很會寫程式,但現自己碰了以後,發現似乎不難,短短幾行程式就可以把一張圖改變了,很神奇,尤其最後一次作業又是3D圖,才剛看完3D展就來做3D圖,非常的酷!!!

2011年1月11日 星期二

HW3

這個作業是要拍兩張圖片,並把代表左眼看到照片只取紅色,而代表右眼的照片取藍色和綠色(青色),然後把兩張圖片合為一張,即可達到3D的效果,不過要拍左眼和右眼的照片角度不是很好抓。

以下是右眼原圖
















以下是右眼照片處理後

















以下是左眼原圖

















以下是左眼處理過後

















以下是處理後合成的3D照片

2011年1月9日 星期日

HW3


題目:3D立體影像創作


左眼 右眼

3D圖
心得:這次的作業是經由拍攝左右眼的照片後,
一邊取紅色另外一邊取藍色和綠色,再將二張圖做合併,
當戴上紅藍眼鏡時就能產生3D的效果,在拍攝照片時
如何取出左右眼的照片實在是有點難度,拍了幾次才感覺
比較有點成功。

2011年1月8日 星期六

hw3

  左圖為此次作業跑出來的成果,這次作業是將圖片3D化,從圖片的挑選開始就一整個困難,比起第四個作業要來麻煩的多,因為兩張圖片要取不同的角度,才能透過程式,將兩張圖片取出不一樣的色彩再疊加再一起,藉以達到3D化的效果,這次的收穫就是,一邊圖片只取單色,另一邊取雙色,然後在和在一起,就能達到3D化的目的了.

HW3

作業3是作3D圖,其實至從阿凡達之後什麼都來3D,
最讓我印象深刻的應該是去資訊展的時候體驗了3D電視,
真的好酷。
這次我自己寫3D,娃屋!! 酷!!

其實感覺很簡單,就在左眼跟右眼附近各拍一張照片,
之後左眼取出紅色的值,右眼則是取出藍色跟綠色的值,
最後把RGB合在一起。
可是我覺得我做出來的圖 效果有點差。

左眼
右眼
3D

Homework 3



原圖


平滑化
此濾鏡的演算法在於將相鄰八個像素與中心點相加後平均,設為中間像素的的值,平滑後會將線條的部份模糊化,雜質的部份會也稍稍抹除


銳利化
銳利化的運算方法則反之,將相鄰的像素相加後,將中心的點的像素質加權,而與中心相鄰的值則削弱,以達到銳利化的效果,但是發現低於0或超過255會造成顏色亂跳,只要加一個if將小於0的值讀作0,大於255的值設做255即可



去胡椒鹽原圖



去胡椒鹽濾鏡
去胡椒鹽的算法亦雷同,將鄰近的9個像素從大到小排列,取其中位數,將值設為中間像素點的值,
可將畫面中的極端值除去,達到去胡椒鹽的效果

HW3

左眼影像

右眼影像

合成後3D影像
第三次作業是要製作3D影像,老師說要用相機拍出左眼與右眼的影像,創造出3D影像,就很天真的以為數位相機裡面有個功能是左眼拍和右眼拍的選項,後來去上網查了一下要如何才能只做3D影像,才發現左眼與右眼的的誤差,合成後經過調整會呈現有如3D的效果,我認為雙眼看前方物品時,所呈現的角度大約為30度左右,第一張圖為左眼拍攝的影像,以正中央向左邊偏15度,而在第二張右眼影像中,就向右偏15度,再來用程式碼來把兩張圖做合併,比較麻煩是在喬位移,試了很多次才慢慢的感覺到3D的效果,我認為主要是拍攝的技巧來決定3D效果的呈現。

HW3

3D的左右眼圖:


成果:


因為拍的技術好像不太好,因此做出來的紅色與青色看起來的寬度就相當的大。


另外找的3D左右眼圖:


成果:


心得:
基本上這個作業我在上星期六的時候就已經寫出來了,
但是跑出來的結果只有紅色與藍色,並沒有出現綠色,
但是這並不是我要的結果,

如圖


所以之後我嘗試了很多種方式,但是一直沒跑出綠色,
後來直到上課開始跟老師討論,嘗試了加強兩張圖紅、藍色,
但是測試出來的結果該是青色或紅色的部分卻變成了紫色或灰色,
並沒有出現如預期的紅色或青色,到最後還是老師發現3D眼鏡的鏡片,
只有紅色與青色,並不是純粹的藍色,因此就找到答案了。
兩張圖一張只需取紅色,另一張只需取青色,再合起來就是3D了。
如圖:



程式方面在寫出來結果後,仔細檢查發現有太多都是不必要的,
最後只需少少的幾行而已,
如圖:



在全部完成後,結果卻出乎意料之外的簡單,或許只能說把事情想得太難了吧,
但是在與老師討論時學習到了相當的多。

HW3

這次的作業主要是在做3*3 的濾鏡處理程式
有平滑化 (smoothing),銳利化 (sharping)及中位數濾鏡處理 (medium filtering)三種功能。

中位數濾鏡主要是用來去除胡椒鹽雜訊

以下為胡椒鹽的原圖

經過中位數濾鏡處理後

變成以上這張圖
我們可以清楚的看到,中位數濾鏡除雜訊效果很明顯

接下來來看對彩色圖片的處理
原圖

平滑化
讓影像色塊之間的過渡區域變寬變大,圖形會顯得比較模糊,感覺變得比較柔和、軟調。

銳利化:
會使得照片本身像數產生較大的對比,而使得像片本身的對比加大,然而一再增加銳利度也會使得像數的對比落差越來越大,反而會導致反效果,而影響畫面。

由以上來看
經過平滑畫的圖片,會變得較為柔和
經過銳利化處理的圖片,狗的毛束變得較為明顯

這次的作業感覺比之前的都還要簡單,應該是有之前的基礎的關係,
在這次作業遇到的問題大概就是排序問題,因為之前學過的都忘光光了,
所以還去翻了一下演算法的課本。

HW3


今天上課時,老師跟幾位同學很熱烈的在研究討論3D圖片的程式碼,所以理所當然的我就在旁邊偷偷的聽,在快接近下課時間的時候,經過多次的嘗試,老師與同學們終於成功找出比較好的程式寫法,所以我就理所當然的偷偷學了起來,因為上課時間所剩不多,所以我回到家後才開始著手進行這次作業,課堂上最後得到的結論是,一邊取單色,另一邊取剩下的雙色,這是老師從Google上得到的靈感,既簡單,效果也很好。
 
了解了該怎麼作之後,寫程式碼並沒有花太多的時間,結果我花最多時間的地方,反而是如何找到左右眼的圖片,結果網路上找了半天,找不到合適的圖片,只好自己照了照片,意料之中,自己拍的圖片偏差實在滿大的,試了好幾次都不能對的很準,只好挑比較好的兩張來做合成了。
 
雖然不知道效果好不好,不過能夠稍微接觸到現今正在快速發展的3D技術的一部份,就讓我覺得這次的作業很有意義,因為我認為不久的將來,電子產品3D化的速度會非常快速,各式各樣不同的3D產品及技術會一直出現,所以我相信這次的作業雖然簡單,但是一定會對我有所幫助。

2011年1月7日 星期五

HW3

原圖
3D畫的圖3D程式碼
這次的作業花費比之前還多的時間,因為卡在到底要怎樣取兩張圖的顏色而傷腦筋,不過還好的是今天老師提出來的意見解決了這個程式碼的問題,不然我得程式碼比改進過來的程式碼還要多,而出來的結果也不盡人意,所以說要不是老師提出解決方法,不知道要卡在那邊要多久,圖片當然是從網路上抓取,因為根本沒有數位相機,所以只好從網路上抓這些圖片,如果有相機的話,照出來的圖片應該會很爛吧,因為我覺得角度很難抓,用出來的圖片根本不是自己想要的圖片,但是這次的作業花的時間還真久,不是之前作業可以比的,雖然這次花得比較久,但是還是滿好玩的。







HW3

經過平滑化後,熊毛較為柔和(模糊)
經過銳利化後,熊毛較為細膩(分明)
黑白版去雜訊化
彩色版去雜訊化
人工雜訊去除化XD(小畫家自己加,只是不能有交集,會有部分影響)
這次的作業,可能是因為是連貫的,所以感覺上較上一個作業簡單,重點就只在如何把圖片上每個點的RGB取出而已,雖然如此,還是寫得挺久的,因為一開始,忘記它是做彩色要乘3,只單純的用bPtrOriginalImage0[(j-1)],之後就在想說要怎麼取色值,然後想到利用之前GetRValue的指令,在那邊測試用法,想說要直接用pixel取二十七個出來,還是就直接把色值累加在除掉,結果似乎是後者有比較快而且個人覺得後者長度較短且可讀性較佳,平滑化大致上的問題就這些。而銳利化則是在一開始誤解老師的原圖加權重的意思,誤寫成bPtrOriginalImage0[(j-1)*3]*(1+n1),結果變成只顯示出影像中深色值的部分,其餘皆為白色,後來經老師指導後,把*1去掉,只乘n1(權重)即可正常銳利化,而權重方面,則是利用Edit去讀User設定的權重。至於中位數濾鏡處理算是最簡單,只要用陣列儲存色值後,再經由副程式排序,之後把中間的數值assign回給ResultImage即可,而之所以寫滿三節課還尚未完成的原因,是因為又遇到了scanline超出範圍的問題,一開始以為跟之前的問題一樣,是影像物件設定的問題,但是測試很久、還跟人比對,始終沒發現錯誤,最後終於在人品爆發的情況下,看到自己設定的陣列define MAX的大小比使用得少一,才結束這個烏龍。

Homework3 3D Image


自己拍的3D影像
3D影像的製作,把紅色跟藍色分離出來
在合併兩張影像,原理是簡單。但是今天早上我們test超久...

昨天晚上,做完胡椒鹽的程式
感覺手感特別好,又剛好學妹有放她剛做好的3D影像
就看一下原理就開始寫程式
原本是用左右眼兩張圖去分成藍色跟紅色,但是這樣合併起來的顏色就會偏紫
因為把綠色的像素值都設成0,剛好同學在網路上就找到一張人家做好的3D影像
整張影像沒有偏紫色,還跟原圖很相近而且還3D
就一直在try。我們用了很多方法
Ex:綠色pixel設128或相加除二...
老師剛好看到網路上的影片突然想到
就把兩張圖分成紅色和藍青色再去做合併
果然不出所料,跟原圖會很相近。結果測試成功
改良了先前合併出偏紫的3D圖片


下圖是網路上人家拍得左右圖比較精確,合併起來OK

HW3

左眼和右眼

合成之後的成像


這次製作3D影像的作業,光是照相,就失敗了好多次,好幾次都不小心移動太大,或者是一張影像太高另一張卻太低,做出來的效果,看起來就像是兩張不同照片,後來我乾脆把相機放在桌子上,用書本當作基準慢慢移動,最後感覺有比前面拍得好很多。

在搜尋資料的過程,有看到一個網站,他有講一些3D的東西,所謂立體視覺原理,是指左眼及右眼所視景象的微小差異經大腦運作後所"判讀"出的距離(景深)資料。所以用紅藍這兩個色彩所做出的濾鏡效果,就比較能展現出立體的感覺。

經過這次作業和之前去參觀SONY3D展覽,讓我更加認識所謂的3D技術,也看到了3D的發展性,人們在視覺上的要求更高,3D的技術發展也更加的重要。