基于深度学习的图像的风格迁移创新实训4

基于上周的实验结果,我想到了新的方法:在分界面的三行像素上均值滤波。实验代码如下:

maxd = []
for j in range(0,cols):
    maxd.append(0)
    for i in range(0,rows) :
        for k in range(0,channels):
            show[i,j,k] = ori[i,j,k]
        if(mask[i,j]<127 and mask[i+3,j]<127 and mask[i+10,j]<127) :
            maxd[j] = i-1
            # print(str(j)+":"+str(maxd[j]))
            break

wid = 5;
for times in range(0,5):
    for i in range(wid,cols-wid) :
        d = maxd[i]
        # print(str(i)+":"+str(d))
        if (d>wid and d255):
                        val = 255
                    show[j,i,k] = val
                    # if(k!= channels-1):
                        # print(",",end="")
                print("\n")

可是实验结果和原来相比并没有显著的变化,方块状的锯齿仍然存在且比较显眼。

因此我想到了第三种方法:在原来的分割面上,每隔3~5个像素,将原像素值慢慢淡化,这样在视觉上会比较自然。主要代码:

    show = np.zeros(ori.shape,np.uint8)
    for i in range(0,rows) :
        for j in range(0,cols) :
            if mask[i,j]== 255 or i20):
                        differ+=1
                if(differ==3):
                    for k in range(0,3):
                        A = (int)(show[i,j,k])
                        B = (int)(show[i,j-1,k])
                        newval = (A+B)//2
                        show[i,j,k] = (np.uint8)(newval)
                    if(i

得到的结果是比较好的:

基于深度学习的图像的风格迁移创新实训4_第1张图片

你可能感兴趣的:(风格迁移)