-
大小: 536KB文件類型: .rar金幣: 2下載: 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?????for?(col?=?0;?col???????elem++;
??????if?(elem?>?M?&&?count?????????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個文件信息
- 上一篇:車道線識別源碼
- 下一篇:操作系統課程設計報告模擬文件系統設計
評論
共有 條評論