opencv入门——红花变绿花
1、先构造一张画布,分为上下两半,上面一半是给定的图片,下面一半是与给定的图片,尺寸完全一样的纯黑色图片。
a=img*0

2、把下面的图片先用原图代替。
a=img*1

3、对a的红色区域进行单独处理:
for i in range(u):
for j in range(v):
b,g,r=img[i,j]
if r>=b>=g:
a[i,j]=np.array([g,r,b])
elif r>=g>=b:
a[i,j]=np.array([b,r,g])

4、把图片的色彩空间,从BGR,转化为LUV。
z=cv2.cvtColor(img,cv2.COLOR_BGR2LUV)
5、把根据z里面的红色区域,来处理a:
for i in range(u):
for j in range(v):
B,G,R=z[i,j]
if max(B,G,R)==R and B>=G:
a[i,j]=np.array([2*r,b,g])
elif max(B,G,R)==R and G>=B:
a[i,j]=np.array([2*r,b,g])

6、改为集中处理。


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。