2016-09-25 92 views
0

我對Python相當陌生,而且我有一個python函數,它爲圖像添加了輪廓。但是,該功能目前在圖像內部增加了一個像素的輪廓,而不是像它應該那樣在外部。我如何修改這個以使輪廓進一步出1個像素?如何爲圖像添加輪廓?

def addOutline(imageArray): 
    from statistics import mean 
    newAr = imageArray 
    newAr.flags.writeable = True 
    balance = 250 
    for i0 in range(1,len(newAr)): 
     for i in range(1,len(newAr[i0])): 
      if mean(newAr[i0][i][:3]) > balance and mean(newAr[i0][i-1][:3]) < balance: 
       newAr[i0][i-1][:3] = 40 
      if mean(newAr[i0][i][:3]) < balance and mean(newAr[i0][i-1][:3]) > balance: 
       newAr[i0][i][:3] = 40 
      if mean(newAr[i0][i][:3]) < balance and mean(newAr[i0-1][i][:3]) > balance: 
       newAr[i0][i][:3] = 40 
      if mean(newAr[i0][i][:3]) < balance and mean(newAr[i0+1][i][:3]) > balance: 
       newAr[i0][i][:3] = 40 

    return newAr 
+0

在php中:http://www.sputnick.fr/how-to-create-an-outline-with-gd-and-php/ – wam

回答

3

我想如果你真的想要大綱超出數字。您需要創建一個大小爲(len(newAr)+1)*(len(newAr[0]+1))的新圖像陣列,其中多餘的像素用於放置線條。裏面的所有其他像素應該從原始圖像中複製。