资源简介
此代码需要VS实现完成opencv300的环境配置。下载了opencv3.00版后记得在属性管理器中添加现有的属性表。

代码片段和文件信息
// logistic-chaos.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include
using namespace std;
using namespace cv;
double u = 3.99;//控制参数
double x = 0.501;//x的初始值
int key[600000][3] = { 0 };//密钥
int _tmain(int argc _TCHAR* argv[])
{
/************************************************************/
Mat img1 = imread(“lena.bmp“);//读取图像
if (img1.empty())//读取失败
{
cout << “读取图像失败“;
return -1;
}
imshow(“lena原始图片“ img1);//显示原始图像
/************************************************************/
/************************************************************/
IplImage *img2 = cvLoadImage(“lena.bmp“ 1);//加载原始图像以读取像素值
CvScalar s;
//typedef struct CvScalar{double val[4];} CvScalar;
//通常用的是前三个,val[0]val[1]val[2]的含义分别是图像的三个通道RGB通道:R是红色分量,G是绿色分量,B是蓝色分量。
cvNamedWindow(“lena加密图片“ 1);//创建一个新窗口用于显示图片
double y = 0;
int temp = 0;
int num = 0;
for (int i = 0; i < img2->height; i++)//图片的高度
{
for (int j = 0; j < img2->width; j++)//图片的宽度
{
s = cvGet2D(img2 i j);//获取图像中坐标(ij)的像素值
/**************************/
//此处添加额外代码实现图像的加密,即实现s的置乱
for (num= 0; num < 3; num++)
{
x= u*x*(1 - x);
key[temp][num]=x*256;
s.val[num] = (int)s.val[num] ^ key[temp][num];
}
temp++;
/**************************/
cvSet2D(img2 i j s);//设置图像中坐标(ij)被置乱后的像素值
}
}
cvShowImage(“lena加密图片“ img2);//显示加密图像
cvSaveImage(“lena-encrypt.bmp“ img2);//保存加密图像到工程目录下
/************************************************************/
Sleep(1000);//延迟1秒已保证加密图像的顺利保存
/************************************************************/
IplImage *img3 = cvLoadImage(“lena-encrypt.bmp“ 1);//加载加密图像以读取像素值
cvNamedWindow(“lena解密图片“ 1);//创建一个新窗口显示解密图像
/**************************/
//此处添加额外代码实现加密图像baby-encrypt.bmp的解密
temp = 0;
for (int i = 0; i < img3->height; i++)//图片的高度
{
for (int j = 0; j < img3->width; j++)//图片的宽度
{
s = cvGet2D(img3 i j);//获取图像中坐标(ij)的像素值
for (num = 0; num < 3; num++)
{
s.val[num] = (int)s.val[num] ^ key[temp][num];
}
temp++;
cvSet2D(img3 i j s);//设置图像中坐标(ij)被置乱后的像素值
}
}
/**************************/
cvShowImage(“lena解密图片“ img3);//显示解密图像
cvSaveImage(“lena-discrypt.bmp“ img3);//保存解密图像到工程目录下
/************************************************************/
Sleep(1000);//延迟1秒已保证解密图像的顺利保存
cvWaitKey(0); //等待按键
cvDestroyWindow(“lena原始图片“);//销毁窗口
cvDestroyWindow(“lena加密图片“);//销毁窗口
cvDestroyWindow(“lena解密图片“);//销毁窗口
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 3014656 2019-03-29 13:49 logistic-chaos\ipch\logistic-chaos-c51ecb72\logistic-chaos-61b91383.ipch
.CA.... 3080192 2019-03-28 20:27 logistic-chaos\ipch\logistic-chaos-c51ecb72\logistic-chaos-a1443f45.ipch
.CA.... 196662 2019-03-29 13:49 logistic-chaos\logistic-chaos\lena-discrypt.bmp
.CA.... 196662 2019-03-29 13:49 logistic-chaos\logistic-chaos\lena-encrypt.bmp
.CA.... 196662 2018-05-29 19:27 logistic-chaos\logistic-chaos\lena.bmp
.CA.... 3017 2019-03-28 20:34 logistic-chaos\logistic-chaos\logistic-chaos.cpp
.CA.... 8225 2019-03-28 20:28 logistic-chaos\logistic-chaos\logistic-chaos.vcxproj
.CA.... 1321 2019-03-28 20:25 logistic-chaos\logistic-chaos\logistic-chaos.vcxproj.filters
.CA.... 1559 2019-03-28 20:25 logistic-chaos\logistic-chaos\ReadMe.txt
.CA.... 220 2019-03-28 20:25 logistic-chaos\logistic-chaos\stdafx.cpp
.CA.... 234 2019-03-28 20:25 logistic-chaos\logistic-chaos\stdafx.h
.CA.... 236 2019-03-28 20:25 logistic-chaos\logistic-chaos\targetver.h
.CA.... 2283 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.log
.CA.... 264728 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.obj
.CA.... 1638400 2019-03-28 20:28 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.pch
.CA.... 1634 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\cl.command.1.tlog
.CA.... 29192 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\CL.read.1.tlog
.CA.... 1482 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\CL.write.1.tlog
.CA.... 2578 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\li
.CA.... 6300 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\li
.CA.... 796 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\li
.CA.... 188 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\logistic-chaos.tlog\logistic-chaos.lastbuildstate
.CA.... 10518 2019-03-28 20:28 logistic-chaos\logistic-chaos\x64\Debug\stdafx.obj
.CA.... 871424 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\vc120.idb
.CA.... 815104 2019-03-29 13:49 logistic-chaos\logistic-chaos\x64\Debug\vc120.pdb
.CA.... 39190528 2019-03-29 14:02 logistic-chaos\logistic-chaos.sdf
.CA.... 1342 2019-03-28 20:28 logistic-chaos\logistic-chaos.sln
.CA..H. 18944 2019-03-29 14:02 logistic-chaos\logistic-chaos.v12.suo
.CA.... 78848 2019-03-29 13:49 logistic-chaos\x64\Debug\logistic-chaos.exe
.CA.... 595732 2019-03-29 13:49 logistic-chaos\x64\Debug\logistic-chaos.ilk
............此处省略13个文件信息
相关资源
- vspd7.2.308.zip
- CVSNT 完整覆盖版防TortoiseCVS中文乱码
- VisualStudioUninstaller vs卸载工具
- vSphere6.06.56.7通用版注册机
- ado数据库MFC图书管理系统vs2010
- vs2005骑士巡游问题-分治法C
-
解决安装vs2012后vs2010 li
nk : fatal er - VMware vSphere 的 Intel 82579LM网卡驱动 最
- VisualSVN-VS2019V7.0解除时间限制
- librdkafka win7 64位 vs2015编译Release版本
- VS1053B编解码器的VDR分布式声音采集卡
- VS六种配色方案(工具-导入和导出设
- VS2012OpenGL配置所需要的全部libdllh文件
- 串口模拟器支持win10
- Visual Assist X for vs2005
- VisualSVN-VS2019-7.1.2破解版
- Visual_Assist_X VS2008专用
- Kvsc3.exe、Kvsc3.dll病毒查杀清除方法
- VisualSVN 6.0.4 破解版(支持VS2017)
- CVSNT中文完美稳定版
- AnkhSvn-2.6.12735 支持VS2010-VS2015 官方原版
- Visual Studio 2017企业版 Enterprise,专业版
- VS2017_Professional_15.5.7+密钥
- VS2010、VS2012、VS2013代码自动注释插件
- ArangoDB vs. JanusGraph vs. Neo4j vs. OrientDB
- 插件式GIS应用框架的设计与实现&mda
- 通过x264录制RGB屏幕视频vs2013工程,
- Microsoft Visual Studio 2017 Installer Project
- VSuite Ramdisk Server V4.6.7 真正破解版(修
- VSP波场分离的径向中值滤波方法
评论
共有 条评论