我需要爲此問題構建代碼。照片Vignette刪除工具(Jython,Python)
首先,我們需要了解孤立的小插圖看起來像什麼,沒有一個美麗場景的混亂。爲此,獲得均勻照明的單一顏色的平坦表面的圖片(諸如在白天期間的白色牆壁或純藍色天空)並且將其用作「暈影輪廓」。您將得到以下小插曲配置文件圖像。
在此圖像中,朝向圖像中心的像素具有比遠離中心的像素更高的RGB值(即 更亮的像素)。圖像也是黑色的,因此任何給定像素的紅色,綠色和藍色值都是相同的。您不得修改此圖片 。
我們需要使用步驟#1中的小插曲配置文件圖像作爲我們的相機拍攝的普通照片 的過濾器,以便可以刪除小插圖。爲此,您需要用暈影輪廓圖像分割 照片圖像(帶小插圖)。作爲暈影圖像中的像素具有RGB值是較小的(更暗)朝向其邊緣,由一個小的數除原始圖像的對應像素將使它們更亮
這些是提示
提示1:這需要您逐個像素地對圖像執行操作。即你不能一步到位。提示2:對於每個通道,第一個挑戰將是保持各分區的RGB值在0-255範圍內,因爲有效的RGB值介於0(最暗)和255(最亮)之間。
編輯:
示例代碼:
def runA1(picture): myFile = pickAFile() picture = makePicture(myFile)
myFile2 = pickAFile()
picture2 = makePicture(myFile2)
for x in range(0,getWidth(picture)):
for y in range(0,getHeight(picture)):
px = getPixel(picture,x,y)
color = getColor(px)
color = makeLighter(color)
setColor(px,color)
for x in range(2,getWidth(picture)):
for y in range(2,getHeight(picture)):
px = getPixel(picture,x,y)
color = getColor(px)
color = makeDarker(color)
setColor(px,color)
show(picture2)
你能告訴我們你試過了什麼,或者考慮過嘗試嗎?有什麼特別的東西卡在你身上?就目前而言,除了「請給我完整的解決方法,我的作業問題」之外,您的問題並沒有說明您需要哪些幫助。 – 2012-04-16 08:11:01
-1;投票結束。 – 2012-04-16 08:58:47
沒有人爲你做你的功課,你必須拿出關於具體問題的具體問題。懶得學習不算! – hochl 2012-04-16 09:11:48