图片隐藏算法实例 Steganography Coding Example

https://www.dukelearntoprogram.com//course1/example/index.php

介绍

skyline.jpg图片隐写在了usain.jpg

Js

// write your code here
function clearbits(colorval){
    var x = Math.floor(colorval/16)*16;
    return x;
}

function chop2hide(image){
    for(var px of image.values()){
        px.setRed(clearbits(px.getRed()));
        px.setGreen(clearbits(px.getGreen()));
        px.setBlue(clearbits(px.getBlue()));
    }
    return image;
}

function shift(image){
    for(var px of image.values()){
        px.setRed(px.getRed() / 16);
        px.setGreen(px.getGreen() / 16);
        px.setBlue(px.getBlue / 16);
    }
    return image;
}

function combine(show, hide){
    var answer = new SimpleImage(show.getWidth(), show.getHeight());
    for(var px of answer.values()){
        var x = px.getX();
        var y = px.getY();
        
        var showPixel = show.getPixel(x, y);
        var hidePixel = hide.getPixel(x, y);
        
        px.setRed(showPixel.getRed() + hidePixel.getRed());
        
        px.setGreen(showPixel.getGreen() + hidePixel.getGreen());
        px.setBlue(showPixel.getBlue() + hidePixel.getBlue());
                
    }
    
    return answer;
}

var start = new SimpleImage("usain.jpg");
var hide = new SimpleImage("skyline.jpg");

start = chop2hide(start);
hide = shift(hide);
var ans = combine(start, hide);
print(ans);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值