-
大小: 536KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-05
- 语言: C/C++
- 标签: watermarking in digital image
资源简介
数字水印源代码,C语言源程序
需要者可下载
代码片段和文件信息
/* Watermarking program - Hartley Transform based */
/* Module : Casting */
/* Author : Vassilis Fotopoulos */
/* Date : 26/7/1999 */
/* Revision : 2.01a */
/* Developed at : ELLAB */
/* Electronics Laboratory */
/* Department of Physics */
/* University of Patras - GREECE */
/* Copyleft (c) 1999 */
/*------------------------------------------------------*/
/* pseudorandom noise generator‘s code is */
/* taken from “Numerical Recipes in C“ */
/*------------------------------------------------------*/
#include
#include
#include
#include
#include
#include
#include “common.h“
int height width;
void add_watermark(double **in int N int coeff_start int wm_length int wm_key double wm_alpha)
{
int row col count;
long int elem L M temp seed;
double a;
count = 0;
elem = 0;
M = coeff_start;
L = wm_length;
seed = wm_key;
a = wm_alpha;
for (row = 0; row < N; row++)
for (col = 0; col < N; col++) {
elem++;
if (elem > M && count < L) {
in[row][col] += a * fabs(in[row][col]) * gasdev(&seed);
count++;
}
}
}
//--------------------------------------------------------
int main(int argc char* argv[])
{
FILE *in *out;
int **image;
double **image_i;
double **image_d;
int c;
int N;
int coeff_start = 5000 wm_length = 10000 wm_key = 123;
double wm_alpha = 0.2;
pgm_init(&argc argv); wm_init();
while ((c = getopt(argc argv “a:s:l:k:“)) != EOF) {
switch (c) {
case ‘a‘:
wm_alpha = atof(optarg);
break;
case ‘s‘:
coeff_start = atoi(optarg);
break;
case ‘l‘:
wm_length = atoi(optarg);
break;
case ‘k‘:
wm_key = atoi(optarg);
break;
}
}
argc -= optind;
argv += optind;
in = stdin;
out = stdout;
open_image(in &width &height);
image = imatrix(height width);
load_image(image in width height);
if (height == width)
N = height;
else {
fprintf(stderr “Cannot Proccess non-square images!\n“);
exit( -11);
}
image_i = dmatrix(height width);
image_d = dmatrix(height width);
if (image_d == NULL) {
fprintf(stderr “Unable to allocate the double array\n“);
exit(1);
}
matrix_i2d(image image_i N);
hartley(image_i image_d N);
add_watermark(image_d N coeff_start wm_length wm_key wm_alpha);
hartley(image_d image_i N);
matrix_d2i(image_i image N);
save_image(image out width height);
freematrix_d(image_i height);
freematrix_d(image_d height);
fclose(in);
fclose(out);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4332 2001-06-21 13:42 数字水印源代码\ANNOUNCEMENT
文件 1118 2001-06-21 14:25 数字水印源代码\Makefile
文件 21111 2001-06-21 13:52 数字水印源代码\manual.lyx
文件 153061 2001-06-21 13:52 数字水印源代码\manual.pdf
文件 209601 2001-06-21 13:52 数字水印源代码\manual.ps
文件 872 2001-06-21 13:37 数字水印源代码\README
文件 0 2001-06-21 14:24 数字水印源代码\wms\.dummy
文件 0 2001-06-21 14:25 数字水印源代码\win32_bin\.dummy
文件 0 2001-06-21 14:24 数字水印源代码\watermarked\.dummy
文件 0 2001-06-21 14:23 数字水印源代码\sigs\.dummy
文件 801 2001-02-21 16:53 数字水印源代码\Meerwald\bruyn_common.c
文件 945 2001-02-21 16:53 数字水印源代码\Meerwald\bruyn_common.h
文件 3888 2001-06-21 13:35 数字水印源代码\Meerwald\cmp_bruyn_sig.c
文件 3803 2001-02-21 17:07 数字水印源代码\Meerwald\cmp_corvi_sig.c
文件 3637 2001-02-18 20:22 数字水印源代码\Meerwald\cmp_cox_sig.c
文件 1653 2001-02-18 20:39 数字水印源代码\Meerwald\cmp_dct.1
文件 4993 2001-06-08 18:16 数字水印源代码\Meerwald\cmp_dct.c
文件 1684 2001-02-18 20:39 数字水印源代码\Meerwald\cmp_dct8x8.1
文件 5000 2001-06-08 18:15 数字水印源代码\Meerwald\cmp_dct8x8.c
文件 3371 2001-06-08 18:07 数字水印源代码\Meerwald\cmp_dugad_sig.c
文件 147889 2001-06-21 13:35 数字水印源代码\Meerwald\cmp_dwt
文件 12740 2001-06-08 18:16 数字水印源代码\Meerwald\cmp_dwt.c
文件 4289 2001-06-08 18:44 数字水印源代码\Meerwald\cmp_frid2_sig.c
文件 3935 2001-06-21 13:37 数字水印源代码\Meerwald\cmp_kim_sig.c
文件 3629 2001-02-21 17:06 数字水印源代码\Meerwald\cmp_koch_sig.c
文件 1422 2001-02-18 20:39 数字水印源代码\Meerwald\cmp_pgm.1
文件 5060 2001-06-08 18:16 数字水印源代码\Meerwald\cmp_pgm.c
文件 2028 2001-02-21 17:07 数字水印源代码\Meerwald\cmp_ppm.1
文件 3692 2001-06-08 18:09 数字水印源代码\Meerwald\cmp_wang_sig.c
文件 5363 2001-02-21 17:06 数字水印源代码\Meerwald\cmp_xia_sig.c
............此处省略109个文件信息
- 上一篇:车道线识别源码
- 下一篇:操作系统课程设计报告模拟文件系统设计
相关资源
- Kinect2.0+PCL实现点云显示
- ini文件读取源代码
- c++读写BMP JPG 和png 的图像文件linux
- c++11 bind库使用
- Qt5Twain.rar
- Linux下C语言实现的FTP系统
- linux下FTP服务器与客户端的C语言实现
- Linux操作系统C语言编程入门pd
- SAP Interface
- 补丁模块(带源码)InlinePatch,Hook,
- linux下c语言实现多线程web服务器
- vc++ 6.0使用dbghelp.dll生成dmp内存转储文
- linux 上用C++实现的网络嗅探器
- Linux下C语言2048游戏代码
- 吕鑫-VS2015之C.C++.MFC等完整视频链接
- win10下vs2015编译TensorFlow1.4 C++源码 CP
- WinIo.h WinIo.sys WINIO.VXD WinIo.lib WinIo.dl
- tcp udp 底层c++封装类windows和linux
- 简单的Linux下Ftp客户端C语言编写
- Thinking in c++ Annotated Solution Guide 答案
- VFW(Video for Windows) for Delphi
- 《嵌入式Linux C语言应用程序设计》读
- QT编写DLL 用 QTWinmigrate及,超级值得
- Insar Goldstein枝切法相位解缠
- springsnail项目源码
- platformSDK
- LL(1)文法判断Compilation principle
- 基于多线程的Linux聊天室系统
- myshell:操作系统编程-自己用C语言写
- c语言winsock 实现简单域名解析(DNS
评论
共有 条评论