亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lwavelet.c

?? 數字水印技術處理程序集合
?? C
字號:
/*----------------------------------------------------------------------------
// StirMark Benchmark - lwavelet.c
//
// Contents: Haar wavelet decomposition and reconstruction functions
//
// Purpose:  
//
// Created:  C. Rey, G. Do雛r, J.-L. Dugelay and G. Csurka, Eur閏om, January 2002
//
// Modified: 
//
// History:  
//
// Copyright (c) 2000-2002, Microsoft Research Ltd , Institut National
// de Recherche en Informatique et Automatique (INRIA), Institut Eur閏om
// and the Integrated Publication and Information Systems Institute at
// GMD - Forschungszentrum Informationstechnik GmbH (GMD-IPSI).
// 
// Redistribution and use in source and binary forms, with or without
// modification, are permitted for non-commercial research and academic
// use only, provided that the following conditions are met:
// 
// - Redistributions of source code must retain the above copyright
//   notice, this list of conditions and the following disclaimer. Each
//   individual file must retain its own copyright notice.
// 
// - Redistributions in binary form must reproduce the above copyright
//   notice, this list of conditions, the following disclaimer and the
//   list of contributors in the documentation and/or other materials
//   provided with the distribution.
// 
// - Modification of the program or portion of it is allowed provided
//   that the modified files carry prominent notices stating where and
//   when they have been changed. If you do modify this program you
//   should send to the contributors a general description of the changes
//   and send them a copy of your changes at their request. By sending
//   any changes to this program to the contributors, you are granting a
//   license on such changes under the same terms and conditions as
//   provided in this license agreement. However, the contributors are
//   under no obligation to accept your changes.
// 
// - All non-commercial advertising materials mentioning features or use
//   of this software must display the following acknowledgement:
// 
//     This product includes software developed by Microsoft Research
//     Ltd, Institut National de Recherche en Informatique et Automatique
//     (INRIA), Institut Eur閏om and the Integrated Publication and
//     Information Systems Institute at GMD - Forschungszentrum
//     Informationstechnik GmbH (GMD-IPSI).
// 
// - Neither name of Microsoft Research Ltd, INRIA, Eur閏om and GMD-IPSI
//   nor the names of their contributors may be used to endorse or
//   promote products derived from this software without specific prior
//   written permission.
// 
// - If you use StirMark Benchmark for your research, please cite:
// 
//     Fabien A. P. Petitcolas, Martin Steinebach, Fr閐閞ic Raynal, Jana
//     Dittmann, Caroline Fontaine, Nazim Fat鑣. A public automated
//     web-based evaluation service for watermarking schemes: StirMark
//     Benchmark. In Ping Wah Wong and Edward J. Delp, editors,
//     proceedings of electronic imaging, security and watermarking of
//     multimedia contents III, vol. 4314, San Jose, California, U.S.A.,
//     20-26 January 2001. The Society for imaging science and
//     technology (I.S.&T.) and the international Society for optical
//     engineering (SPIE). ISSN 0277-786X.
// 
// and
// 
//     Fabien A. P. Petitcolas. Watermarking schemes
//     evaluation. I.E.E.E. Signal Processing, vol. 17, no. 5,
//     pp. 58-64, September 2000.
// 
// THIS SOFTWARE IS NOT INTENDED FOR ANY COMMERCIAL APPLICATION AND IS
// PROVIDED BY MICROSOFT RESEARCH LTD, INRIA, EUR蒀OM, GMD-IPSI AND
// CONTRIBUTORS 'AS IS', WITH ALL FAULTS AND ANY EXPRESS OR IMPLIED
// REPRESENTATIONS OR WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT OF INTELLECTUAL
// PROPERTY ARE DISCLAIMED. IN NO EVENT SHALL MICROSOFT RESEARCH LTD,
// INRIA, EUR蒀OM, GMD-IPSI OR THEIR CONTRIBUTORS BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// 
// THE USE OF THIS SOFTWARE FOR CIRCUMVENTING WITHOUT AUTHORITY ANY
// EFFECTIVE TECHNOLOGICAL MEASURES DESIGNED TO PROTECT ANY COPYRIGHTS OR
// ANY RIGHTS RELATED TO COPYRIGHT AS PROVIDED BY LAW OR THE SUI GENERIS
// RIGHT PROVIDED BY SOME COUNTRIES IS STRICTLY PROHIBITED.
//
// $Header: /home/cvs/StirmarkBench/StirMark_Bench/SignalProcessing/SelfSimilarities/lwavelet.c,v 1.2 2002/04/19 10:23:59 petitcolas Exp $ 
//----------------------------------------------------------------------------
*/
#include <stdio.h>
#include <stdlib.h>

#include "SelfSimilarities.h"
#include "lib_kadv_codec.h"


/* Haar wavelet decomposition */
void haarWaveDecomposition(image *spa, int width, int height, image **h00,
						   image **h01, image **h10, image **h11){
	int i, j;
	int pad_width = width;        /* Width of the image after padding           */
	int pad_height = height;      /* Height of the image after padding          */
	image *pad_spa;               /* Padded image                               */
	int w_width, w_height;        /* Dimension of a wavelet                     */
	image *a, *d;                 /* Temporary pointers for wavelet computation */

	/* Image padding (even dimensions) */
	if (width%2 == 1)
		pad_width++;
	if (height%2 == 1)
		pad_height++;
	if((pad_spa = (image *)malloc(sizeof(image) * pad_width * pad_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	for (j=0; j<pad_height; j++){
		for (i=0; i<pad_width; i++){
			if (i<width && j<height)
				pad_spa[i+j*pad_width]=spa[i+j*width];
			else { 
				if (i>=width && j<height)
					pad_spa[i+j*pad_width]=spa[2*width-i-1+j*width];
				else if (i<width && j>=height)
					pad_spa[i+j*pad_width]=spa[i+(2*height-j-1)*width];
				else if (i>=width && j>=height)
					pad_spa[i+j*pad_width]=spa[2*width-i-1+(2*height-j-1)*width];
			}
		}
	}


	/* Memory allocation for wavelets */
	w_width = pad_width / 2;
	w_height = pad_height / 2;
	if((a = (image *)malloc(sizeof(image) * w_width * pad_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	if((d = (image *)malloc(sizeof(image) * w_width * pad_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	if((*h00 = (image *)malloc(sizeof(image) * w_width * w_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	if((*h01 = (image *)malloc(sizeof(image) * w_width * w_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	if((*h10 = (image *)malloc(sizeof(image) * w_width * w_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	if((*h11 = (image *)malloc(sizeof(image) * w_width * w_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}


	/* Horizontal wavelets decomposition */
	for (j=0;j<pad_height;j++){
		for (i=0;i<w_width;i++){
			a[i+j*w_width] = pad_spa[2*i + j*pad_width]
				             + pad_spa[2*i+1 + j*pad_width];
			d[i+j*w_width] = pad_spa[2*i + j*pad_width]
				             - pad_spa[2*i+1 + j*pad_width];
		}
	}

	/* Vertical wavelets decomposition */
	for (i=0;i<w_width;i++){
		for(j=0;j<w_height;j++){
			(*h00)[i+j*w_width] = (image)( (a[i + 2*j*w_width]
				                          + a[i + (2*j+1)*w_width]) / 2 );
			(*h01)[i+j*w_width] = (image)( (d[i + 2*j*w_width]
				                          + d[i + (2*j+1)*w_width]) / 2 );
			(*h10)[i+j*w_width] = (image)( (a[i + 2*j*w_width]
				                          - a[i + (2*j+1)*w_width]) / 2 );
			(*h11)[i+j*w_width] = (image)( (d[i + 2*j*w_width]
				                          - d[i + (2*j+1)*w_width]) / 2 );
		}
	}

	/* Free memory */
	free(a);free(d);
	free(pad_spa);
}




void haarWaveReconstruction(image *spa, int width, int height, image *h00,
							image *h01, image *h10, image *h11){
	int i, j;
	int pad_width = width;        /* Width of the image after padding  */
	int pad_height = height;      /* Height of the image after padding */
	image *pad_spa;               /* Padded image                      */
	int w_width, w_height;        /* Dimension of a wavelet            */

	/* Image padding (even dimentsions) */
	if (width%2 == 1)
		pad_width++;
	if (height%2 == 1)
		pad_height++;
	if((pad_spa = (image *)malloc(sizeof(image) * pad_width * pad_height))==NULL) {
		fprintf(stderr,"Probleme d'allocation memoire\n");
		exit(1);
	}
	w_width = pad_width / 2;
	w_height = pad_height / 2;
	
	/* Reconstruction */
	for (j=0;j<w_height;j++){
		for (i=0;i<w_width;i++){
			pad_spa[2*i + 2*j*pad_width] = (image) (( h00[i + j*w_width]
													+ h01[i + j*w_width]
													+ h10[i + j*w_width]
													+ h11[i + j*w_width]) / 2);
			pad_spa[2*i + (2*j+1)*pad_width] = (image) (( h00[i + j*w_width]
													    + h01[i + j*w_width]
													    - h10[i + j*w_width]
													    - h11[i + j*w_width]) / 2);
			pad_spa[2*i+1 + 2*j*pad_width] = (image) (( h00[i + j*w_width]
										 			  - h01[i + j*w_width]
													  + h10[i + j*w_width]
													  - h11[i + j*w_width]) / 2);
			pad_spa[2*i+1 + (2*j+1)*pad_width] = (image) (( h00[i + j*w_width]
													      - h01[i + j*w_width]
													      - h10[i + j*w_width]
													      + h11[i + j*w_width]) / 2);
		}
	}

	for (j=0;j<height;j++){
		for (i=0;i<width;i++){
			spa[i+j*width] = pad_spa[i+j*pad_width];
		}
	}

	free(pad_spa);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久午夜电影| 91麻豆精品国产91久久久久| 轻轻草成人在线| 日韩一区精品字幕| 亚洲成人黄色小说| 亚洲国产另类精品专区| 亚洲影院免费观看| 亚洲一区在线播放| 三级精品在线观看| 麻豆精品视频在线观看| 美女视频黄 久久| 国产一区二区伦理片| 国产精品亚洲成人| av电影在线观看完整版一区二区| 丁香婷婷深情五月亚洲| 9i在线看片成人免费| 色狠狠综合天天综合综合| 在线免费不卡电影| 欧美一级淫片007| 久久久久久久电影| 亚洲黄色免费电影| 日本成人在线看| 国产一区二区久久| av不卡在线播放| 欧美日韩另类国产亚洲欧美一级| 久久精品无码一区二区三区| 久久人人97超碰com| 中文字幕一区二区三区视频| 天堂久久一区二区三区| 久草在线在线精品观看| 成人黄色大片在线观看| 欧美日本一区二区| 久久久精品综合| 亚洲精品成人a在线观看| 男男视频亚洲欧美| 成人性视频免费网站| 欧洲国内综合视频| 久久久蜜桃精品| 亚洲国产精品一区二区www在线| 蜜臀a∨国产成人精品| 99久久伊人久久99| 欧美成人三级在线| 亚洲黄一区二区三区| 麻豆成人91精品二区三区| 成人黄色电影在线| 精品不卡在线视频| 亚洲一区二区三区四区在线免费观看| 久久99国产精品尤物| 色999日韩国产欧美一区二区| 欧美一区二区国产| 亚洲激情图片一区| 国产精品91一区二区| 欧美日韩一区视频| 中文字幕亚洲欧美在线不卡| 麻豆成人免费电影| 欧美日韩在线一区二区| 中文字幕日韩一区| 国产成人av电影在线观看| 欧美理论电影在线| 亚洲欧美日韩国产成人精品影院| 韩国三级在线一区| 日韩三级高清在线| 午夜av区久久| 欧美日韩亚洲综合在线| 亚洲精品免费在线观看| 不卡高清视频专区| 日本一区二区三区四区在线视频| 麻豆精品视频在线观看视频| 欧美日本在线一区| 婷婷久久综合九色国产成人| 欧洲视频一区二区| 亚洲一区二区三区四区在线| 99re热这里只有精品视频| 欧美激情在线看| 国产精品一区二区三区网站| 欧美r级在线观看| 麻豆精品一区二区综合av| 91精品国产麻豆国产自产在线 | 五月天精品一区二区三区| 不卡一二三区首页| 亚洲免费伊人电影| 欧洲另类一二三四区| 亚洲一区二区在线视频| 欧洲在线/亚洲| 午夜成人在线视频| 日韩午夜激情视频| 极品少妇一区二区| 国产婷婷色一区二区三区在线| 黄色日韩三级电影| 欧美国产丝袜视频| 99久久亚洲一区二区三区青草 | 亚洲色图20p| 色一区在线观看| 亚洲mv大片欧洲mv大片精品| 欧美日韩亚洲不卡| 免费久久99精品国产| 精品国产免费视频| 成人网男人的天堂| 亚洲图片一区二区| 日韩欧美激情在线| 不卡的电影网站| 亚洲国产va精品久久久不卡综合 | 五月婷婷久久综合| 欧美xxx久久| jlzzjlzz国产精品久久| 亚洲免费av高清| 日韩你懂的电影在线观看| 国产乱子伦一区二区三区国色天香| 欧美国产日韩一二三区| 欧美午夜片在线看| 精品一区二区久久| 亚洲女与黑人做爰| 日韩美女主播在线视频一区二区三区 | 欧美日韩激情一区二区三区| 久久aⅴ国产欧美74aaa| 国产精品久久夜| 日韩欧美久久一区| 色菇凉天天综合网| 国产在线一区二区| 婷婷一区二区三区| 中文字幕一区在线观看视频| 69堂精品视频| 一本色道久久综合亚洲精品按摩| 另类小说色综合网站| 国产精品夫妻自拍| 久久午夜电影网| 欧美久久久影院| 99久久精品情趣| 国产激情偷乱视频一区二区三区| 亚洲制服欧美中文字幕中文字幕| 久久亚区不卡日本| 欧美精品v国产精品v日韩精品| 99久久久国产精品| 国产激情一区二区三区桃花岛亚洲| 午夜国产精品一区| 一区二区三区在线免费视频| 国产日韩欧美精品电影三级在线| 欧美精品一卡二卡| 91成人免费网站| aaa欧美大片| 成人在线视频首页| 国产精品自在在线| 久久99精品久久久久久动态图| 午夜精品久久久久久久蜜桃app| 国产精品久久看| 国产精品久99| 国产精品沙发午睡系列990531| 精品久久久久久久久久久久久久久 | 精品1区2区在线观看| 欧美人妇做爰xxxⅹ性高电影| 色综合久久六月婷婷中文字幕| 国产91丝袜在线播放九色| 精品中文字幕一区二区小辣椒| 亚洲va韩国va欧美va| 夜夜嗨av一区二区三区网页| 亚洲美女区一区| 亚洲综合视频网| 一区二区三区在线免费| 一区二区三区自拍| 一区二区高清免费观看影视大全| 亚洲欧美日韩在线不卡| 中文字幕制服丝袜成人av| √…a在线天堂一区| 亚洲女与黑人做爰| 亚洲图片欧美色图| 日韩av一区二区在线影视| 美女在线观看视频一区二区| 国产一区二区中文字幕| 国内精品伊人久久久久影院对白| 久久国产精品一区二区| 丰满亚洲少妇av| 91一区二区在线观看| 色欲综合视频天天天| 欧美三级中文字| 日韩一卡二卡三卡四卡| 久久久久久99久久久精品网站| 国产精品对白交换视频| 亚洲一区二区三区美女| 蜜臀久久99精品久久久久久9| 国产一区二区三区综合| 国产福利一区二区三区在线视频| 99久久99久久综合| 欧美美女一区二区| 久久精品人人做| 一区二区三区成人| 美女国产一区二区| 成人h动漫精品一区二| 欧美精品丝袜久久久中文字幕| 精品久久99ma| 亚洲精品欧美激情| 久久不见久久见中文字幕免费| 床上的激情91.| 91精品婷婷国产综合久久竹菊| 久久久久国产精品麻豆| 一区二区三区四区亚洲| 久久精品国产澳门| 日本高清免费不卡视频| 欧美精品一区二区在线播放| 亚洲综合一区二区精品导航| 国产美女在线精品|