21 #include <boost/filesystem.hpp> 22 #include <opencv2/core/core.hpp> 23 #include <opencv2/highgui/highgui.hpp> 24 #include "exceptions.hpp" 26 #ifndef STEGANOGRAPHY_HPP 27 #define STEGANOGRAPHY_HPP 45 if (!this->
image.data)
59 virtual void Encode(
const boost::filesystem::path & payload_path) = 0;
89 std::vector<unsigned char>
ReadPayload(
const boost::filesystem::path & payload_path);
97 void WritePayload(
const boost::filesystem::path &payload_path,
const std::vector<unsigned char> &payload);
110 inline void SetBit(T *target,
const int &bit,
const int &value)
112 *target ^= (-(
unsigned int)value ^ *target) & (1UL << bit);
126 inline int GetBit(
const T &target,
const int &bit)
128 return (target >> bit) & 1UL;
132 #endif // STEGANOGRAPHY_HPP boost::filesystem::path image_path
Definition: steganography.hpp:75
void WritePayload(const boost::filesystem::path &payload_path, const std::vector< unsigned char > &payload)
Definition: steganography.cpp:33
int GetBit(const T &target, const int &bit)
Definition: steganography.hpp:126
Definition: exceptions.hpp:23
void SetBit(T *target, const int &bit, const int &value)
Definition: steganography.hpp:110
Definition: steganography.hpp:32
virtual void Encode(const boost::filesystem::path &payload_path)=0
Steganography(const boost::filesystem::path &image_path)
Definition: steganography.hpp:40
cv::Mat image
Definition: steganography.hpp:81
std::vector< unsigned char > ReadPayload(const boost::filesystem::path &payload_path)
Definition: steganography.cpp:20