我正在尝试在图片中找到特定的颜色(或更可能的颜色范围),然后在第二张图片上重新绘制坐标以进行进一步调查。由于我了解了很多有关numpy的知识,所以我开始使用它(我在python中尤其是numpy相当新)。因此,我写了一些对一种颜色都适用的东西,但是它存在很多颜色的(性能问题),我很确定,我可以通过使用numpy提供的更多功能来解决这一问题。基本上,我想杀死for循环。那是我的代码(我以后必须添加更多范围的颜色):import PIL, numpyfrom PIL import Imagedef add_color_range(p_a_c, r,r1,g,g1,b,b1): for ir in range(r, r1+1): for ig in range(g, g1+1): for ib in range(b, b1+1): p_a_c.extend([[ir,ig,ib]]) return p_a_cfor i in range(1): im = Image.open('%*s.bmp'% (1, i)) n_test = numpy.asarray(im) ni_test = numpy.zeros([1050,1680,3],dtype=numpy.uint8) ni_test.fill(255) c=[] c=add_color_range(c,5,10,5,10,5,10) for ic in range(len(c)): ind=numpy.where(numpy.all(n_test==c[ic], axis=-1)) for ii in range(len(ind[0])): ni_test[ind[0][ii],ind[1][ii]]=[0,0,0] im_test = Image.fromarray(ni_test, 'RGB') im_test.save('test_%*s.bmp'% (1, i))
添加回答
举报
0/150
提交
取消