opencv入门——红花变绿花

2026-02-14 20:01:23

1、先构造一张画布,分为上下两半,上面一半是给定的图片,下面一半是与给定的图片,尺寸完全一样的纯黑色图片。

a=img*0

opencv入门——红花变绿花

2、把下面的图片先用原图代替。

a=img*1

opencv入门——红花变绿花

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])  

opencv入门——红花变绿花

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])

opencv入门——红花变绿花

6、改为集中处理。

opencv入门——红花变绿花

opencv入门——红花变绿花

猜你喜欢