This repository has been archived by the owner on Nov 9, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1395e71
Showing
4 changed files
with
166 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
bin/ | ||
|
||
# Created by https://www.gitignore.io/api/linux,emacs,vim,cmake,opencv | ||
|
||
### CMake ### | ||
CMakeCache.txt | ||
CMakeFiles | ||
CMakeScripts | ||
Testing | ||
Makefile | ||
cmake_install.cmake | ||
install_manifest.txt | ||
compile_commands.json | ||
CTestTestfile.cmake | ||
|
||
### Emacs ### | ||
# -*- mode: gitignore; -*- | ||
*~ | ||
\#*\# | ||
/.emacs.desktop | ||
/.emacs.desktop.lock | ||
*.elc | ||
auto-save-list | ||
tramp | ||
.\#* | ||
|
||
# Org-mode | ||
.org-id-locations | ||
*_archive | ||
|
||
# flymake-mode | ||
*_flymake.* | ||
|
||
# eshell files | ||
/eshell/history | ||
/eshell/lastdir | ||
|
||
# elpa packages | ||
/elpa/ | ||
|
||
# reftex files | ||
*.rel | ||
|
||
# AUCTeX auto folder | ||
/auto/ | ||
|
||
# cask packages | ||
.cask/ | ||
dist/ | ||
|
||
# Flycheck | ||
flycheck_*.el | ||
|
||
# server auth directory | ||
/server/ | ||
|
||
# projectiles files | ||
.projectile | ||
|
||
# directory configuration | ||
.dir-locals.el | ||
|
||
### Linux ### | ||
|
||
# temporary files which can be created if a process still has a handle open of a deleted file | ||
.fuse_hidden* | ||
|
||
# KDE directory preferences | ||
.directory | ||
|
||
# Linux trash folder which might appear on any partition or disk | ||
.Trash-* | ||
|
||
# .nfs files are created when an open file is removed but is still being accessed | ||
.nfs* | ||
|
||
### OpenCV ### | ||
#OpenCV for Mac and Linux | ||
#build and release folders | ||
*/CMakeFiles | ||
*/CMakeCache.txt | ||
*/Makefile | ||
*/cmake_install.cmake | ||
.DS_Store | ||
|
||
### Vim ### | ||
# swap | ||
[._]*.s[a-v][a-z] | ||
[._]*.sw[a-p] | ||
[._]s[a-v][a-z] | ||
[._]sw[a-p] | ||
# session | ||
Session.vim | ||
# temporary | ||
.netrwhist | ||
# auto-generated tag files | ||
tags | ||
|
||
# End of https://www.gitignore.io/api/linux,emacs,vim,cmake,opencv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
cmake_minimum_required(VERSION 2.8) | ||
project( busysteg ) | ||
find_package( OpenCV REQUIRED ) | ||
add_executable( busysteg busysteg ) | ||
target_link_libraries( busysteg ${OpenCV_LIBS} ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# BusySteg | ||
|
||
> Hide information content into busy areas of images, optimally | ||
## Basic Idea | ||
|
||
Some parts of the image (for example, tree foliage) are busier than | ||
others (for example, the sky). It is possible to hide upto even 4 bits | ||
per 8 bit pixel in such areas, with no perceptible change to the | ||
image. Additionally, such modifications are virtually impossible to | ||
detect using common steganalysis techniques. | ||
|
||
The original idea for this is taken from a paper | ||
titled ["Keyless dynamic optimal multi-bit image steganography using | ||
energetic pixels" by Goutam Paul et. al.](https://link.springer.com/article/10.1007/s11042-016-3319-0). | ||
|
||
The implemented technique is resistant against: | ||
|
||
1. Visual attacks | ||
2. Analysis though quality metrics | ||
3. Structural attacks | ||
4. Statistical attacks | ||
|
||
## Usage | ||
|
||
The code requires OpenCV 2.x, and CMake installed. | ||
|
||
Compile using: | ||
|
||
``` | ||
mkdir bin | ||
cd bin | ||
cmake .. | ||
make | ||
``` | ||
|
||
Hide data into an image using: | ||
|
||
``` | ||
./busysteg <image path> <data file path> | ||
``` | ||
|
||
Extract data from the image using: | ||
|
||
``` | ||
./busysteg <image path> | ||
``` | ||
|
||
## License | ||
|
||
[MIT License](https://jay.mit-license.org/2017) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#include <opencv2/core/core.hpp> | ||
#include <opencv2/highgui/highgui.hpp> | ||
#include <opencv2/imgproc/imgproc.hpp> | ||
#include <iostream> | ||
|
||
using namespace cv; | ||
using namespace std; | ||
|
||
int main( int argc, char** argv ) { | ||
} | ||
|