为了账号安全,请及时绑定邮箱和手机立即绑定

在图像中查找颜色并在第二个图像上重绘(使用numpy)

在图像中查找颜色并在第二个图像上重绘(使用numpy)

跃然一笑 2021-03-13 11:11:41
我正在尝试在图片中找到特定的颜色(或更可能的颜色范围),然后在第二张图片上重新绘制坐标以进行进一步调查。由于我了解了很多有关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))
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号