【发布时间】:2019-02-19 16:39:49
【问题描述】:
我的代码有问题吗?我想将下图的头发颜色从绿色改为紫色。但是,我的输出看起来很奇怪,如果有计算机视觉/图像处理经验的人能帮助我解决这个问题,不胜感激。
from scipy import misc,ndimage
import matplotlib.pyplot as plt
import numpy as np
def dye_hair(filename):
pic = misc.imread(filename)
output = []
for i in range(len(pic)):
for j in pic[i]:
if (j[1] > j[0]) & (j[1] > j[2]):
pic[i][j] = [j[0]*2,j[1]*0.2,j[2]*0.8]
plt.imshow(pic)
plt.show()
逻辑是这样的,如果像素绿色值大于红色和蓝色值,则将颜色替换为[R*2,G*0.2。 B*0.8]
【问题讨论】:
-
对于初学者,使用
and,而不是&进行布尔运算。 -
仍然得到相同的输出