python代码转换成matlab #图像处理


def Image1_yinxie():

    img=np.array(Image.open(beiyinxie_image))
    mark=np.array(Image.open(mark_image))
    rows,cols,dims=mark.shape

    for i in range(0,dims):
        for j in range(0,rows*2):
            for k in range(0,cols*2):
                img[j,k,i]=img[j,k,i]&252

    for i in range(0,dims):
        for j in range(0,rows):
            for k in range(0,cols):
                img[2*j,2*k,i]=img[2*j,2*k,i]+(mark[j,k,i]&192)//64
                img[2*j,2*k+1,i]=img[2*j,2*k+1,i]+(mark[j,k,i]&48)//16
                img[2*j+1,2*k,i]=img[2*j+1,2*k,i]+(mark[j,k,i]&12)//4
                img[2*j+1,2*k+1,i]=img[2*j+1,2*k+1,i]+(mark[j,k,i]&3)
                #print(2*j+1,2*k+1)
    img=Image.fromarray(img)
    global new_image
    new_image = beiyinxie_image[:-4]+"_with_mark1."+beiyinxie_image[-3:]

    img.save(new_image)


    old = cv2.imread(beiyinxie_image)
    new = cv2.imread(new_image)

    b,g,r = cv2.split(old)  
    old = cv2.merge([r,g,b])  
    b,g,r = cv2.split(new)  
    new = cv2.merge([r,g,b])  

    plt.figure(figsize=(6, 7))  #matplotlib设置画面大小 600*700
    #plt.suptitle('LSB信息隐藏')
    plt.subplot(2,2,1)
    plt.imshow(old)
    plt.title("原始图像")
    plt.subplot(2,2,2)
    plt.hist(old.ravel(), 256, [0,256])
    plt.title("原始图像直方图")
    plt.subplot(2,2,3)
    plt.imshow(new)
    plt.title("隐藏信息的图像")
    plt.subplot(2,2,4)
    plt.hist(new.ravel(), 256, [0,256])
    plt.title("隐藏信息图像直方图")
    plt.tight_layout() #设置默认的间距
    plt.show()

imgwmark=np.array(Image.open(new_image))
    result=imgwmark
    rows,cols,dims=imgwmark.shape
    rows=rows//2
    cols=cols//2
    for i in range(0,dims):
        for j in range(0,rows*2):
            for k in range(0,cols*2):
                imgwmark[j,k,i]=imgwmark[j,k,i]&3
    
    for i in range(0,dims):
        for j in range(0,rows):
            for k in range(0,cols):
                result[j,k,i]=imgwmark[2*j,2*k,i]*64+imgwmark[2*j,2*k+1,i]*16
                +imgwmark[2*j+1,2*k,i]*4+imgwmark[2*j+1,2*k+1,i]
    mark_get=Image.fromarray(result)
    mark_get.save(tiqu)

有没有懂哥,把它写成matlab的

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^