91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

該算法實現了以下功能: 1.先對灰度級的水印圖像進行取每位高四位的二進制化處理,得到長度為原來四倍的二進制水印數據; 2.產生一個隨機二進制序列,即密鑰,長度與二進制水印數據長度相同; 3.利用此二進制序列對水印圖像進行混沌加密; 4.根據二進制水印的對應位,修改圖像的最低位,以保證其奇偶性; 5.根據要檢測圖像中每個像素的最低位的奇偶性提取水印信息; 6.根據密鑰對水印圖像進行還原。

資源截圖

代碼片段和文件信息

//?Dib.cpp:?implementation?of?the?CDib?class.
//
//////////////////////////////////////////////////////////////////////

#include?“StdAfx.h“
#include?“Dib.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDib::CDib()
{
m_hDrawDib=NULL;
m_pDib=NULL;
}
CDib::~CDib()
{
Close();
}

void?CDib::Draw(CDC?*pDCint?nWidth?int?nHeight)
{
if(m_pDib!=NULL)
{
ASSERT(IsValid());
DrawDibRealize(m_hDrawDibpDC->GetSafeHdc()TRUE);
DrawDibDraw(m_hDrawDibpDC->GetSafeHdc()
0??//desktop?left
0??//desktop?top
nWidth
nHeight
(BITMAPINFOHEADER?*)m_pDib
(LPVOID)?GetBits()
0??//source?left
0??//source?top
((BITMAPINFOHEADER?*)m_pDib)->biWidth
((BITMAPINFOHEADER?*)m_pDib)->biHeight
DDF_BACKGROUNDPAL);
}
}

CSize?CDib::GetSize()
{
return?CSize(((BITMAPINFOHEADER?*)m_pDib)->biWidth
?((BITMAPINFOHEADER?*)m_pDib)->biHeight);
}

LONG?CDib::GetWidth()
{
return?((BITMAPINFOHEADER?*)m_pDib)->biWidth;
}

LONG?CDib::GetHeight()
{
return ((BITMAPINFOHEADER?*)m_pDib)->biHeight;
}

void?CDib::Close()
{
if(m_hDrawDib!=NULL)
{
DrawDibClose(m_hDrawDib);
m_hDrawDib=NULL;
}

if(m_pDib!=NULL)
{
delete?m_pDib;
m_pDib=NULL;
}
}

BOOL?CDib::Open(const?char?*?pzFileName)
{
// BITMAPFILEHEADER?bmpFileHeader;
CFile?file;
int?nBmpFileHeaderSize;

Close();

//drawdibopen?initialize?the?diradib?library?and?
//returns?a?handle?for?all?drawdib?operations
if(!(m_hDrawDib=DrawDibOpen()))
goto?exit;

? //open?and?read?the?DIB?file?header
nBmpFileHeaderSize=sizeof(BITMAPFILEHEADER);

if(!file.Open(pzFileNameCFile::modeRead?|?CFile::typeBinary))
goto?exit;

if(file.Read((void?*)&bmpFileHeadernBmpFileHeaderSize)!=(UINT)nBmpFileHeaderSize)
goto?failure;

//validate?the?DIB?file?header?by?checking?the?first
//two?characters?for?the?signature?“BM“
if(bmpFileHeader.bfType!=*((WORD?*)“BM“))
goto?failure;

//allocate?a?big?chuck?of?global?memory?to?store?the?DIB
m_pDib=(BYTE?*)new?char?[bmpFileHeader.bfSize-nBmpFileHeaderSize];

//allocate?memory?fail
if(!m_pDib)
goto?failure;

//read?the?dib?into?the?buffer?at?a?time?using?ReadHuge
file.ReadHuge(m_pDibbmpFileHeader.bfSize-nBmpFileHeaderSize);

if(((BITMAPINFOHEADER?*)m_pDib)->biSizeImage==0)
{
//the?application?that?create?this?bitmap?didn‘t?fill
//in?the?biSizeImage?field.?Let‘s?fill?it
//in?even?though?the?DrawDib?*?functions?don‘t?need?it.
BITMAPINFOHEADER?*pDib=(BITMAPINFOHEADER?*)m_pDib;

//scan?lines?must?be?DWord?aligned?hence?the?strange?bit?stuff
pDib->biSizeImage=((((pDib->biWidth*pDib->biBitCount)+31)&~31)>>3)*pDib->biHeight;
}

m_pDibBits=GetBits();

file.Close();
return?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4425??2009-04-05?16:47??基于混沌序列的LSB水印算法\Dib.cpp

?????文件?????196662??2009-04-07?20:08??基于混沌序列的LSB水印算法\m1.bmp

?????文件??????21624??2009-08-31?21:34??基于混沌序列的LSB水印算法\NewReadBmp.aps

?????文件???????1320??2009-10-27?19:51??基于混沌序列的LSB水印算法\NewReadBmp.clw

?????文件???????2119??2009-04-06?14:56??基于混沌序列的LSB水印算法\NewReadBmp.cpp

?????文件???????4350??2009-08-19?22:05??基于混沌序列的LSB水印算法\NewReadBmp.dsp

?????文件????????528??2009-07-11?13:48??基于混沌序列的LSB水印算法\NewReadBmp.dsw

?????文件???????1368??2009-04-06?14:56??基于混沌序列的LSB水印算法\NewReadBmp.h

?????文件?????148480??2009-10-27?19:51??基于混沌序列的LSB水印算法\NewReadBmp.ncb

?????文件????????967??2009-08-19?21:29??基于混沌序列的LSB水印算法\dib.h

?????文件???????1009??2009-08-19?21:23??基于混沌序列的LSB水印算法\resource.h

?????文件???????2756??2009-10-27?19:51??基于混沌序列的LSB水印算法\NewReadBmp.plg

?????文件???????5906??2009-08-19?22:03??基于混沌序列的LSB水印算法\NewReadBmp.rc

?????文件??????50688??2009-10-27?19:51??基于混沌序列的LSB水印算法\NewReadBmp.opt

?????文件???????2892??2009-08-20?12:43??基于混沌序列的LSB水印算法\NewReadBmpDlg.h

?????文件???????3651??2009-04-06?14:56??基于混沌序列的LSB水印算法\ReadMe.txt

?????文件????????212??2009-04-06?14:56??基于混沌序列的LSB水印算法\StdAfx.cpp

?????文件???????1054??2009-04-06?14:56??基于混沌序列的LSB水印算法\StdAfx.h

????..A.SH.??????5632??2009-05-06?20:22??基于混沌序列的LSB水印算法\Thumbs.db

?????文件???????1078??2009-04-06?14:56??基于混沌序列的LSB水印算法\res\NewReadBmp.ico

?????文件????????402??2009-04-06?14:56??基于混沌序列的LSB水印算法\res\NewReadBmp.rc2

?????文件??????65590??2009-08-19?11:25??基于混沌序列的LSB水印算法\pic\watermark\jldx_128.bmp

?????文件?????129846??2009-04-08?21:31??基于混沌序列的LSB水印算法\pic\watermark\jldx.bmp

?????文件??????35625??2009-09-14?12:31??基于混沌序列的LSB水印算法\pic\watermark\原始水印圖像的數據顯示.txt

?????文件?????142476??2009-09-14?12:31??基于混沌序列的LSB水印算法\pic\watermark\原二值化水印圖像的數據顯示.txt

?????文件??????30054??2009-08-19?19:38??基于混沌序列的LSB水印算法\pic\watermark\2816ee8cc2b14546accd5_ss.bmp

?????文件??????30054??2009-08-19?19:39??基于混沌序列的LSB水印算法\pic\watermark\小孩.bmp

?????文件??????35398??2009-08-19?19:40??基于混沌序列的LSB水印算法\pic\watermark\印章.bmp

?????文件??????10006??2009-08-19?19:44??基于混沌序列的LSB水印算法\pic\watermark\大眾.bmp

?????文件??????31162??2009-08-19?19:44??基于混沌序列的LSB水印算法\pic\watermark\東風.bmp

............此處省略47個文件信息

評論

共有 條評論