资源简介
此代码需要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个文件信息
相关资源
- 基于猫脸映射的图像加密-VS
- Apress Visual C Sharp 2010 Recipes A Problem S
- cvsnt-2.5.03.2260.msi 和TortoiseCVS-1.8.26
- openblas vs2013 x64 库dll和lib
- nginx1.9.9 vs2015 完整项目
- VS2010 TCP一个进程拥有多个端口,cli
- vs2010编译的g2o库文件 win 7可用 直接解
- 基于混沌映射的彩色图像加密算法分
- openCVSharp Unity3d
- 电信cisco NAV10-WF-ADVSEC 真正的刷机软件
- miracl_5.5.4_包含vs工程
- APM3.2.1固件-VS2012工程
- pvsyst6中文使用手册
- 中维世纪JVS-N71-G1网络摄像机固件
- Openvswtich实验教程
- GBVS显著性检测包含经典IT算法
- VSC-HVDC PSCAD的仿真模型
- bigtiff4.1源代码与编译好的静态库
- YML保存 cvCompareHist cvCalcEMD2 直方图对比
- live555通过VS2013编译,自己整理的,附
- 摄像头CT跟踪算法
- OPENGL三维场景搭建、漫游、交互_vs2
- 完整的打印机监控源码
- AWVS11.x激活工具&汉化包
- Redgate .NET Reflector 10.1.1.1137 破解版 V
- Visual Assist X 2237+破解补丁+汉化包+菜单
- qt vs 2015 tools
- BabeLua For 2019 V3.2.2.0.zip
- VSI_bundle.rar
- VS2015+Opencv310的X86动态库lib
评论
共有 条评论