c语言提取图片yiq分量,图片数字水印C语言代码

一篇本科毕业论文的附件:图片数字水印的C语言程序代码

//本文算法实现的C语言代码,Windows XP平台DEV-CPP(4.9.9.2)环境下编译通过//

#include //

#include //

#include //头文件

#include //头文件

#include //

#include //

#define MAX_ITERA 60 //常量宏定义

#define MIN_DOUBLE (1e-30) //常量宏定义

#define F_EXTPAD 4 //常量宏定义

#define D_EXTPAD 2 //常量宏定义

//函数原型预定义区域

void RecoverWaterMark3(char *InVector,char *OutWater,double a);

void InsertWaterMark3(char *InVector,char *OutVector,char *InWater,char *OutWater,double a);

void RecoverWaterMark2(char *InVector,char *OutWater,double a);

void InsertWaterMark2(char *InVector,char *OutVector,char *InWater,char *OutWater,double a);

void RecoverWaterMark1(char *InVector,char *OutWater,double a);

void InsertWaterMark1(char *InVector,char *OutVector,char *InWater,char *OutWater,double a);

void Arnold256(char *in,char *out,unsigned char *q,int N,int k1,int k21,int k22,int k23,int k24,int type);

int SVD(double a[],int m,int n,double u[],double v[],double eps);

void Matrices(double a[],double b[],int m,int n,int k,double c[]);

void ppp(double a[],double e[],double s[],double v[],int m,int n);

void sss(double fg[2],double cs[2]);

void YIQ2RGB(char *out,double *Y,double *I,double *Q,int N);

void RGB2YIQ(char *in,char *out,double *Y,double *I,double *Q,int N);

void DWT2D(double **rows, int width, int height, int levels,int inverse);

void IDWT1D(double *x, int N);

void DWT1D(double *x_in, int N);

void CheckPSNR(double *p0,double *p1,int m,int n,double a);

unsigned char Double2Char(double d);

void Array2D1D(double **aa,double *a,int m,int n);

void Array1D2D(double *a,double **aa,int m,int n);

void errorNexit(char *s,char *d);

void MsgBox(char *s,char *a,char *b);

double MAX(double,double,double);

static double *x_alloc = NULL; //静态内存指针

//主函数

//载体图片默认为lmk.bmp-----------------必须为640*640*24bit

//水印图片默认为W.bmp-------------------必须为64*64*8bit

//W_a.bmp为水印图片加密后输出-----------大小为64*64*8bit

//lmk_w10.bmp为嵌入水印后的载体图片------大小为640*640*24bit

//lmk_w20.bmp为嵌入水印后的载体图片------大小为640*640*24bit

//---a----------------------------------水印嵌入强度,初始默认为0.05

//临时文件SLL3.dat,SLH3.dat,SHL3.d

at,SHH3.dat,W.dat,Uw.dat,Vw.dat,分别保存了

//载体图片LL3子图分解后的奇异值矩阵(double)------用于提取水印使用

//载体图片LH3子图分解后的奇异值矩阵(double)------用于提取水印使用

//载体图片HL3子图分解后的奇异

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值