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 频域,并写入水印图片

隐写文件
在图片中写入或导出文件,使用的是图片像素低位,与此不同的是会记录原文件大小与文件名
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 下控制台程序的相关内容
BSD
