biubiugogo 2022-10-06 21:36 采纳率: 0%
浏览 61
已结题

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的

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-08 11:43
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 创建了问题 10月6日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!