Coder Social home page Coder Social logo

hinalayer's Introduction

hinaLayer

simple and convenient Image steganography tool

with C++ & openCV

Windows GUI App imageIN used hinaLayer. ( here hinaLayer is Console Application)

##介绍 hinaLayer 是一个使用 C++ 语言,依赖 openCV 库的非常简单的图片隐写工具
原本是为一个有着极友好界面的图片隐写工具 imageIN 写的临时用的组件 后来 imageIN 源码不幸丢失了:no_mouth:
imageIN的截图:

##图片隐写 图片隐写是在图片内容本身添加信息,你可以图片中写入或者导出不可见的水印或者任何类型的文件,以此隐藏信息。还可以通过构造特殊的有容错性的信息,让图片即是被剪裁、修改还能还原写入的信息。 片
图片

##功能

图片奇偶位写入、导出文件、水印
根据图片像素值的奇偶性写入文件或水印
图片奇偶位写入水印

图片像素低位写入、导出文件
根据图像像素低位内容写入信息,即 LSB 隐写
图片像素低位写入、导出文件

在图片频域(DTF)写入、导出水印
把图片转换到 DTF 频域,并写入水印图片
 DTF 频域写入水印图片

隐写文件
在图片中写入或导出文件,使用的是图片像素低位,与此不同的是会记录原文件大小与文件名

##hinaLayer.exe hinaLayer.exe 是在 windows 下的静态编译的控制台程序,使用时不需要机器上有 openCV

in_file 是输入文件,info_file 是作为写入内容的文件,out_file 是输出文件,rgb是色彩通道(012顺序BGR,3为使用全部通道),rgb_表示可以忽略色彩通道参数,使用默认值3

命令名 参数1 参数2 参数3 参数4 别名 功能
s_in in_file info_file out_file rgb_ (steg_write_file_lsb) 在图片中隐写文件(LSB).
s_out in_file out_file/dir rgb_ (steg_out_file_lsb) ( 导出图片中隐写的文件(LSB).
[奇偶位]
en_eo_mask in_file info_file out_file rgb_ (en_mig) 在图片奇偶位上写入水印
en_eo_file in_file info_file out_file rgb_ (en_bin) 在图片奇偶位上写入文件.
de_eo_mask in_file out_file rgb_ (de_mig) 导出图片奇偶位水印.
de_eo_file in_file out_file rgb_ (de_bin) 导出图片奇偶位文件.
read_eo in_file rgb (read_mig) 在窗口中预览图片的奇偶位图像.
[低像素位]
en_lsb_file in_file info_file out_file rgb_ (en_bin_A) 在图片像素低位上写入文件.
de_lsb_file in_file out_file rgb_ (de_bin_A) 导出图片像素低位文件.
[频域]
en_dtf_mask in_file info_file out_file rgb (en_dtf) 在图片DTF频域上写入水印.
de_dtf_mask in_file out_file rgb (de_dtf) 导出图片DTF频域水印.
read_dtf in_file rgb 在窗口中预览图片的 DTF频域 图像.
read_dtf_3 in_file 在窗口中预览图片的 DTF频域图像,三通道.
[辅助功能]
resize in_file out_file w h 重设图像大小(缩放).
mirrorX in_file out_file (m_x) 图片X轴镜像(水平翻转).
mirrorY in_file out_file (m_y) 图片Y轴镜像(垂直翻转).

例子

  `hinaLayer_v1.0.exe en_dtf_mask "1.png" "mask.png" "[en_dtf]1_out.png" 3
  `hinaLayer_v1.0.exe  read_dtf "[en_dtf]1_out.png"  3

##源码说明 本项目依赖 openCV 2.4.10 ,构建于 Visual Studio 2013 可参考 这个配置说明

hinaLayer.h 与 hinaLayer.cpp 中封装了对图片所有进行隐写操作的类

hinaLayer_comd.h 与 hinaLayer_comd.cpp 封装了直接调用的方法

hinaLayer_Console.cpp 是编译成 windows 下控制台程序的相关内容

#License BSD

hinalayer's People

Contributors

nullice avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.