Image Logic
If-statement 是用來評判一個陳述是否屬實(shí)的函數(shù),如果屬實(shí)則進(jìn)入下一步程序。這個函數(shù)用在圖像變化上,可以提高改變顏色轉(zhuǎn)化的精確度。如果想要把一張圖中?所有偏紅的顏色?改成藍(lán)色,上節(jié)課的做法是直接找出r值大于某個數(shù)的pixel,把它改成藍(lán)色。這個做法有個問題就是有些pixel,它不僅r值高,g/b值也高,所以它顯示的不一定是偏紅的顏色,有可能只是總體亮度較高的偏藍(lán)的顏色。這里 if statement和average結(jié)合,就可以用來篩選掉一批總體亮度較高且偏藍(lán)偏綠的pixels,留下那些視覺上偏紅色的pixel.
if (pixel.getRed() > avg * 1.1){
...
}
This function can detect the pixel by color.
Image Bluescreen
繼續(xù)搞事!有if statement提高顏色選擇準(zhǔn)確率作為基礎(chǔ),該老師現(xiàn)在要把另外一張圖片上的圖案移動到選擇出來的顏色上,當(dāng)然是同相同坐標(biāo)(位置)上的圖案。實(shí)現(xiàn)方法:1. 先獲得選擇出來的顏色塊的坐標(biāo)(x,y);2. 對第二張圖片的像素點(diǎn)命名,如pixel2; 3.獲取相同(x,y)的rgb值,轉(zhuǎn)給選擇出來的顏色塊。
step1:?
x=pixel.getX( );
y=pixel.getY( );
step2:?
(這里有一個猜測:圖像-像素-rgb值/xy值,存在逐級遞減關(guān)系,如果要對某一層進(jìn)行操作,語法必須是 上一層.get這一層( ). )
pixel2=back.getPixel(x,y)
step3:
pixel.setRed(pixel2.getRed());
pixel.setGreen(pixel2.getGreen());
pixel.setBlue(pixel2.getBlue());
條件:個人感覺以上兩個section要讓結(jié)果自然的話,進(jìn)行操作的顏色塊必須和周圍顏色相差較大,比如說是一塊明顯的藍(lán)色,不然容易選到圖像的其他部分。另外如果要blue screen effect的話,第二張圖像需要有大面積相同的圖案,不然截過去只有一部分的話就會顯得怪怪的。
Computer Hardware
突然進(jìn)入硬件部分。
Moore's Law: Transistor 的加工技術(shù)進(jìn)步速度為每一年,一個同樣體積的芯片的transistor容量加倍。這意味芯片功能更強(qiáng)大以及其價(jià)格更便宜。