0
|
1 # Makefile
|
|
2
|
3
|
3 # chose build plattform
|
0
|
4 include ../make/make.config
|
|
5
|
3
|
6 OPTIONS=-DPARAM_STUFF -DPOLLEN_STUFF
|
|
7
|
0
|
8 all: tools \
|
|
9 bruyn \
|
|
10 koch \
|
|
11 corvi \
|
|
12 xia \
|
|
13 xie \
|
3
|
14 xie2 \
|
0
|
15 cox \
|
|
16 zhu \
|
|
17 dugad \
|
|
18 wang \
|
|
19 frid2 \
|
3
|
20 kim \
|
|
21 kund2 \
|
|
22 kund3
|
0
|
23
|
|
24 .SUFFIXES: .c .o .1 .ps
|
|
25
|
|
26 .c$(O):
|
3
|
27 $(CC) $(CFLAGS) $(INCLUDES) $(OPTIONS) -o $@ -c $<
|
0
|
28
|
|
29 .1.ps:
|
|
30 $(GROFF) $< > $@
|
|
31
|
|
32 # library containing general stuff
|
|
33
|
|
34 $(LIBPREFIX)wm$(LIB): dct$(O) coeff$(O) gray$(O) sort$(O) signature$(O) coord$(O) wm$(O)
|
|
35 $(RM) $@
|
|
36 ar -rc $@ dct$(O) coeff$(O) gray$(O) sort$(O) signature$(O) coord$(O) wm$(O)
|
|
37
|
|
38 libraryclean:
|
|
39 $(RM) $(LIBPREFIX)wm$(LIB)
|
|
40
|
|
41 # library containing wavelet transform stuff
|
|
42
|
|
43 $(LIBPREFIX)wavelet$(LIB): wavelet$(O) dwt$(O) dwt_util$(O)
|
|
44 $(RM) $@
|
|
45 ar -rc $@ wavelet$(O) dwt$(O) dwt_util$(O)
|
|
46
|
|
47 waveletclean:
|
|
48 $(RM) $(LIBPREFIX)wavelet$(LIB)
|
|
49
|
|
50 # some general tools to compute difference image, PSNR, ...
|
|
51
|
|
52 tools: cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE)
|
|
53
|
|
54 toolstest:
|
|
55
|
|
56 toolsinstall: tools
|
|
57 $(CP) cmp_pgm$(EXE) cmp_dct8x8$(EXE) cmp_dct$(EXE) cmp_dwt$(EXE) $(INSTALLDIR)
|
|
58
|
|
59 toolsman: cmp_pgm.ps cmp_dct8x8.ps cmp_dct.ps
|
|
60
|
|
61 toolsclean:
|
3
|
62 $(RM) cmp_pgm$(EXE) cmp_dct$(EXE) cmp_dct8x8$(EXE) cmp_dwt$(EXE)
|
0
|
63
|
|
64 cmp_pgm$(EXE): cmp_pgm$(O) $(LIBPREFIX)wm$(LIB)
|
3
|
65 $(CC) $(LDFLAGS) -o $@ cmp_pgm$(O) $(WMLIB) $(PGMLIBS) $(LIBS)
|
0
|
66
|
|
67 cmp_dct$(EXE): cmp_dct$(O) $(LIBPREFIX)wm$(LIB)
|
|
68 $(CC) $(LDFLAGS) -o $@ cmp_dct$(O) $(WMLIB) $(PGMLIBS)
|
|
69
|
|
70 cmp_dwt$(EXE): cmp_dwt$(O) $(LIBPREFIX)wavelet$(LIB) $(LIBPREFIX)wm$(LIB)
|
|
71 $(CC) $(LDFLAGS) -o $@ cmp_dwt$(O) $(WAVELIB) $(WMLIB) $(PGMLIBS)
|
|
72
|
|
73 cmp_dct8x8$(EXE): cmp_dct8x8$(O) $(LIBPREFIX)wm$(LIB)
|
|
74 $(CC) $(LDFLAGS) -o $@ cmp_dct8x8$(O) $(WMLIB) $(PGMLIBS)
|
|
75
|
|
76
|
|
77 # Koch's algorithm (8x8 block DCT, blind, binary)
|
|
78
|
|
79 koch: gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
|
|
80
|
|
81 kochtest: koch
|
|
82 gen_koch_sig$(EXE) -n 150 < gen_koch_sig.c > ../sigs/koch.sig
|
|
83 wm_koch_e$(EXE) -s ../sigs/koch.sig -o ../watermarked/koch_lena.pgm ../images/lena.pgm
|
|
84 wm_koch_d$(EXE) -s ../sigs/koch.sig -o ../wms/koch.wm ../watermarked/koch_lena.pgm
|
|
85 cmp_koch_sig$(EXE) -s ../sigs/koch.sig ../wms/koch.wm
|
|
86
|
|
87 kochinstall: koch
|
|
88 $(CP) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE) $(INSTALLDIR)
|
|
89
|
|
90 kochclean:
|
|
91 $(RM) gen_koch_sig$(EXE) wm_koch_e$(EXE) wm_koch_d$(EXE) cmp_koch_sig$(EXE)
|
|
92
|
|
93 kochman:
|
|
94
|
|
95 wm_koch_e$(EXE): wm_koch_e$(O) $(LIBPREFIX)wm$(LIB)
|
|
96 $(CC) $(LDFLAGS) -o $@ wm_koch_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
97
|
|
98 wm_koch_d$(EXE): wm_koch_d$(O) $(LIBPREFIX)wm$(LIB)
|
|
99 $(CC) $(LDFLAGS) -o $@ wm_koch_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
100
|
|
101 gen_koch_sig$(EXE): gen_koch_sig$(O) wm$(O)
|
|
102 $(CC) $(LDFLAGS) -o $@ gen_koch_sig$(O) wm$(O) $(LIBS)
|
|
103
|
|
104 cmp_koch_sig$(EXE): cmp_koch_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
105 $(CC) $(LDFLAGS) -o $@ cmp_koch_sig$(O) $(WMLIB) $(LIBS)
|
|
106
|
|
107 # Fridrich's 2. scheme (full-frame DCT, blind, binary)
|
|
108
|
|
109 frid2: gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
|
|
110
|
|
111 frid2test: frid2
|
|
112 gen_frid2_sig$(EXE) -n 250 < gen_frid2_sig.c > ../sigs/frid2.sig
|
|
113 wm_frid2_e$(EXE) -s ../sigs/frid2.sig -o ../watermarked/frid2_lena.pgm ../images/lena.pgm
|
|
114 wm_frid2_d$(EXE) -s ../sigs/frid2.sig -o ../wms/frid2.wm ../watermarked/frid2_lena.pgm
|
|
115 cmp_frid2_sig$(EXE) -s ../sigs/frid2.sig ../wms/frid2.wm
|
|
116
|
|
117 frid2install: frid2
|
|
118 $(CP) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE) $(INSTALLDIR)
|
|
119
|
|
120 frid2clean:
|
|
121 $(RM) gen_frid2_sig$(EXE) wm_frid2_e$(EXE) wm_frid2_d$(EXE) cmp_frid2_sig$(EXE)
|
|
122
|
|
123 frid2man:
|
|
124
|
|
125 wm_frid2_e$(EXE): wm_frid2_e$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
|
|
126 $(CC) $(LDFLAGS) -o $@ wm_frid2_e$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
127
|
|
128 wm_frid2_d$(EXE): wm_frid2_d$(O) $(LIBPREFIX)wm$(LIB) frid2_common$(O)
|
|
129 $(CC) $(LDFLAGS) -o $@ wm_frid2_d$(O) frid2_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
130
|
|
131 gen_frid2_sig$(EXE): gen_frid2_sig$(O) wm$(O)
|
|
132 $(CC) $(LDFLAGS) -o $@ gen_frid2_sig$(O) wm$(O) $(LIBS)
|
|
133
|
|
134 cmp_frid2_sig$(EXE): cmp_frid2_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
135 $(CC) $(LDFLAGS) -o $@ cmp_frid2_sig$(O) $(WMLIB) $(LIBS)
|
|
136
|
|
137
|
|
138 # Bruyndonckx's algorithm (spatial domain, block classification, blind)
|
|
139
|
|
140 bruyn: gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
|
|
141
|
|
142 bruyntest: bruyn
|
|
143 gen_bruyn_sig$(EXE) -n 400 < gen_bruyn_sig.c > ../sigs/bruyn.sig
|
|
144 wm_bruyn_e$(EXE) -s ../sigs/bruyn.sig -o ../watermarked/bruyn_lena.pgm ../images/lena.pgm
|
|
145 wm_bruyn_d$(EXE) -s ../sigs/bruyn.sig -o ../wms/bruyn.wm ../watermarked/bruyn_lena.pgm
|
|
146 cmp_bruyn_sig$(EXE) -s ../sigs/bruyn.sig ../wms/bruyn.wm
|
|
147
|
|
148 bruyninstall: bruyn
|
|
149 $(CP) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE) $(INSTALLDIR)
|
|
150
|
|
151 bruynclean:
|
|
152 $(RM) gen_bruyn_sig$(EXE) wm_bruyn_e$(EXE) wm_bruyn_d$(EXE) cmp_bruyn_sig$(EXE)
|
|
153
|
|
154 bruynman:
|
|
155
|
|
156 wm_bruyn_e$(EXE): wm_bruyn_e$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
|
|
157 $(CC) $(LDFLAGS) -o $@ wm_bruyn_e$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
158
|
|
159 wm_bruyn_d$(EXE): wm_bruyn_d$(O) bruyn_common$(O) $(LIBPREFIX)wm$(LIB)
|
|
160 $(CC) $(LDFLAGS) -o $@ wm_bruyn_d$(O) bruyn_common$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
161
|
|
162 gen_bruyn_sig$(EXE): gen_bruyn_sig$(O) wm$(O)
|
|
163 $(CC) $(LDFLAGS) -o $@ gen_bruyn_sig$(O) wm$(O) $(LIBS)
|
|
164
|
|
165 cmp_bruyn_sig$(EXE): cmp_bruyn_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
166 $(CC) $(LDFLAGS) -o $@ cmp_bruyn_sig$(O) $(WMLIB) $(LIBS)
|
|
167
|
|
168
|
|
169 # Cox's algorithm (full-frame DCT, non-blind, spread-spectrum)
|
|
170
|
|
171 cox: gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
|
|
172
|
|
173 coxtest: cox
|
|
174 gen_cox_sig$(EXE) > ../sigs/cox.sig
|
|
175 wm_cox_e$(EXE) -s ../sigs/cox.sig -o ../watermarked/cox_lena.pgm ../images/lena.pgm
|
|
176 wm_cox_d$(EXE) -s ../sigs/cox.sig -o ../wms/cox.wm -i ../images/lena.pgm ../watermarked/cox_lena.pgm
|
|
177 cmp_cox_sig$(EXE) -s ../sigs/cox.sig ../wms/cox.wm
|
|
178
|
|
179 coxinstall: cox
|
|
180 $(CP) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE) $(INSTALLDIR)
|
|
181
|
|
182 coxman: gen_cox_sig.ps wm_cox_e.ps wm_cox_d.ps
|
|
183
|
|
184 wm_cox_e$(EXE): wm_cox_e$(O) $(LIBPREFIX)wm$(LIB)
|
|
185 $(CC) $(LDFLAGS) -o $@ wm_cox_e$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
186
|
|
187 wm_cox_d$(EXE): wm_cox_d$(O) $(LIBPREFIX)wm$(LIB)
|
|
188 $(CC) $(LDFLAGS) -o $@ wm_cox_d$(O) $(WMLIB) $(LIBS) $(PGMLIBS)
|
|
189
|
|
190 gen_cox_sig$(EXE): gen_cox_sig$(O)
|
|
191 $(CC) $(LDFLAGS) -o $@ gen_cox_sig$(O) $(LIBS)
|
|
192
|
|
193 cmp_cox_sig$(EXE): cmp_cox_sig$(O)
|
|
194 $(CC) $(LDFLAGS) -o $@ cmp_cox_sig$(O) $(LIBS)
|
|
195
|
|
196 coxclean:
|
|
197 $(RM) gen_cox_sig$(EXE) wm_cox_e$(EXE) wm_cox_d$(EXE) cmp_cox_sig$(EXE)
|
|
198
|
|
199
|
|
200 # Corvi's algorithm (DWT, non-blind, spread-spectrum, approximation image)
|
|
201
|
|
202 corvi: gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
|
|
203
|
|
204 corvitest: corvi
|
|
205 gen_corvi_sig$(EXE) > ../sigs/corvi.sig
|
|
206 wm_corvi_e$(EXE) -s ../sigs/corvi.sig -o ../watermarked/corvi_lena.pgm ../images/lena.pgm
|
|
207 wm_corvi_d$(EXE) -s ../sigs/corvi.sig -o ../wms/corvi.wm -i ../images/lena.pgm ../watermarked/corvi_lena.pgm
|
|
208 cmp_corvi_sig$(EXE) -s ../sigs/corvi.sig ../wms/corvi.wm
|
|
209
|
|
210 corviinstall: corvi
|
|
211 $(CP) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE) $(INSTALLDIR)
|
|
212
|
|
213 corviman: gen_corvi_sig.ps wm_corvi_e.ps wm_corvi_d.ps
|
|
214
|
|
215 wm_corvi_e$(EXE): wm_corvi_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
216 $(CC) $(LDFLAGS) -o $@ wm_corvi_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
217
|
|
218 wm_corvi_d$(EXE): wm_corvi_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
219 $(CC) $(LDFLAGS) -o $@ wm_corvi_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
220
|
|
221 gen_corvi_sig$(EXE): gen_corvi_sig$(O)
|
|
222 $(CC) $(LDFLAGS) -o $@ gen_corvi_sig$(O) $(LIBS)
|
|
223
|
|
224 cmp_corvi_sig$(EXE): cmp_corvi_sig$(O)
|
|
225 $(CC) $(LDFLAGS) -o $@ cmp_corvi_sig$(O) $(LIBS)
|
|
226
|
|
227 corviclean:
|
|
228 $(RM) gen_corvi_sig$(EXE) wm_corvi_e$(EXE) wm_corvi_d$(EXE) cmp_corvi_sig$(EXE)
|
|
229
|
|
230
|
|
231 # Xia's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
232
|
|
233 xia: gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
|
|
234
|
|
235 xiatest: xia
|
|
236 gen_xia_sig$(EXE) > ../sigs/xia.sig
|
|
237 wm_xia_e$(EXE) -s ../sigs/xia.sig -o ../watermarked/xia_lena.pgm ../images/lena.pgm
|
|
238 wm_xia_d$(EXE) -s ../sigs/xia.sig -o ../wms/xia.wm -i ../images/lena.pgm ../watermarked/xia_lena.pgm
|
|
239 cmp_xia_sig$(EXE) -s ../sigs/xia.sig ../wms/xia.wm
|
|
240
|
|
241 xiainstall: xia
|
|
242 $(CP) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE) $(INSTALLDIR)
|
|
243
|
|
244 xiaman: gen_xia_sig.ps wm_xia_e.ps wm_xia_d.ps
|
|
245
|
|
246 wm_xia_e$(EXE): wm_xia_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
247 $(CC) $(LDFLAGS) -o $@ wm_xia_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
248
|
|
249 wm_xia_d$(EXE): wm_xia_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
250 $(CC) $(LDFLAGS) -o $@ wm_xia_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
251
|
|
252 gen_xia_sig$(EXE): gen_xia_sig$(O)
|
|
253 $(CC) $(LDFLAGS) -o $@ gen_xia_sig$(O) $(LIBS)
|
|
254
|
|
255 cmp_xia_sig$(EXE): cmp_xia_sig$(O)
|
|
256 $(CC) $(LDFLAGS) -o $@ cmp_xia_sig$(O) $(LIBS)
|
|
257
|
|
258 xiaclean:
|
|
259 $(RM) gen_xia_sig$(EXE) wm_xia_e$(EXE) wm_xia_d$(EXE) cmp_xia_sig$(EXE)
|
|
260
|
|
261 # Wang's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
262
|
|
263 wang: gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
|
|
264
|
|
265 wangtest: wang
|
|
266 gen_wang_sig$(EXE) -n 1000 > ../sigs/wang.sig
|
|
267 wm_wang_e$(EXE) -s ../sigs/wang.sig -o ../watermarked/wang_lena.pgm ../images/lena.pgm
|
|
268 wm_wang_d$(EXE) -s ../sigs/wang.sig -o ../wms/wang.wm -i ../images/lena.pgm ../watermarked/wang_lena.pgm
|
|
269 cmp_wang_sig$(EXE) -s ../sigs/wang.sig ../wms/wang.wm
|
|
270
|
|
271 wanginstall: wang
|
|
272 $(CP) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE) $(INSTALLDIR)
|
|
273
|
|
274 wangman: gen_wang_sig.ps wm_wang_e.ps wm_wang_d.ps
|
|
275
|
|
276 wm_wang_e$(EXE): wm_wang_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
|
|
277 $(CC) $(LDFLAGS) -o $@ wm_wang_e$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
278
|
|
279 wm_wang_d$(EXE): wm_wang_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) wang_common$(O)
|
|
280 $(CC) $(LDFLAGS) -o $@ wm_wang_d$(O) wang_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
281
|
|
282 gen_wang_sig$(EXE): gen_wang_sig$(O)
|
|
283 $(CC) $(LDFLAGS) -o $@ gen_wang_sig$(O) $(LIBS)
|
|
284
|
|
285 cmp_wang_sig$(EXE): cmp_wang_sig$(O)
|
|
286 $(CC) $(LDFLAGS) -o $@ cmp_wang_sig$(O) $(LIBS)
|
|
287
|
|
288 wangclean:
|
|
289 $(RM) gen_wang_sig$(EXE) wm_wang_e$(EXE) wm_wang_d$(EXE) cmp_wang_sig$(EXE)
|
|
290
|
|
291 # Kim's algorithm (DWT, non-blind, spread-spectrum, approx. & detail subbands)
|
|
292
|
|
293 kim: gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
|
|
294
|
|
295 kimtest: kim
|
|
296 gen_kim_sig$(EXE) -n 1000 > ../sigs/kim.sig
|
|
297 wm_kim_e$(EXE) -s ../sigs/kim.sig -o ../watermarked/kim_lena.pgm ../images/lena.pgm
|
|
298 wm_kim_d$(EXE) -s ../sigs/kim.sig -o ../wms/kim.wm -i ../images/lena.pgm ../watermarked/kim_lena.pgm
|
|
299 cmp_kim_sig$(EXE) -s ../sigs/kim.sig ../wms/kim.wm
|
|
300
|
|
301 kiminstall: kim
|
|
302 $(CP) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE) $(INSTALLDIR)
|
|
303
|
|
304 kimman: gen_kim_sig.ps wm_kim_e.ps wm_kim_d.ps
|
|
305
|
|
306 wm_kim_e$(EXE): wm_kim_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
|
|
307 $(CC) $(LDFLAGS) -o $@ wm_kim_e$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
308
|
|
309 wm_kim_d$(EXE): wm_kim_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB) kim_common$(O)
|
|
310 $(CC) $(LDFLAGS) -o $@ wm_kim_d$(O) kim_common$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
311
|
|
312 gen_kim_sig$(EXE): gen_kim_sig$(O)
|
|
313 $(CC) $(LDFLAGS) -o $@ gen_kim_sig$(O) $(LIBS)
|
|
314
|
|
315 cmp_kim_sig$(EXE): cmp_kim_sig$(O)
|
|
316 $(CC) $(LDFLAGS) -o $@ cmp_kim_sig$(O) $(LIBS)
|
|
317
|
|
318 kimclean:
|
|
319 $(RM) gen_kim_sig$(EXE) wm_kim_e$(EXE) wm_kim_d$(EXE) cmp_kim_sig$(EXE)
|
|
320
|
|
321 # Zhu's algorithm (DWT, non-blind, spread-spectrum, detail subbands)
|
|
322
|
|
323 zhu: gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
|
|
324
|
|
325 zhutest: zhu
|
|
326 gen_zhu_sig$(EXE) > ../sigs/zhu.sig
|
|
327 wm_zhu_e$(EXE) -s ../sigs/zhu.sig -o ../watermarked/zhu_lena.pgm ../images/lena.pgm
|
|
328 wm_zhu_d$(EXE) -s ../sigs/zhu.sig -o ../wms/zhu.wm -i ../images/lena.pgm ../watermarked/zhu_lena.pgm
|
|
329 cmp_zhu_sig$(EXE) -s ../sigs/zhu.sig ../wms/zhu.wm
|
|
330
|
|
331 zhuinstall: zhu
|
|
332 $(CP) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE) $(INSTALLDIR)
|
|
333
|
|
334 zhuman: gen_zhu_sig.ps wm_zhu_e.ps wm_zhu_d.ps
|
|
335
|
|
336 wm_zhu_e$(EXE): wm_zhu_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
337 $(CC) $(LDFLAGS) -o $@ wm_zhu_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
338
|
|
339 wm_zhu_d$(EXE): wm_zhu_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
340 $(CC) $(LDFLAGS) -o $@ wm_zhu_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
341
|
|
342 gen_zhu_sig$(EXE): gen_zhu_sig$(O)
|
|
343 $(CC) $(LDFLAGS) -o $@ gen_zhu_sig$(O) $(LIBS)
|
|
344
|
|
345 cmp_zhu_sig$(EXE): cmp_zhu_sig$(O)
|
|
346 $(CC) $(LDFLAGS) -o $@ cmp_zhu_sig$(O) $(LIBS)
|
|
347
|
|
348 zhuclean:
|
|
349 $(RM) gen_zhu_sig$(EXE) wm_zhu_e$(EXE) wm_zhu_d$(EXE) cmp_zhu_sig$(EXE)
|
|
350
|
|
351 # Xie's algorithm (DWT, blind, binary, quantization, approximation image)
|
|
352
|
|
353 xie: gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
|
|
354
|
|
355 xietest: xie
|
|
356 gen_xie_sig$(EXE) -n 800 gen_xie_sig.c > ../sigs/xie.sig
|
|
357 wm_xie_e$(EXE) -s ../sigs/xie.sig -o ../watermarked/xie_lena.pgm ../images/lena.pgm
|
|
358 wm_xie_d$(EXE) -s ../sigs/xie.sig -o ../wms/xie.wm ../watermarked/xie_lena.pgm
|
|
359 cmp_xie_sig$(EXE) -s ../sigs/xie.sig ../wms/xie.wm
|
|
360
|
|
361 xieinstall: xie
|
|
362 $(CP) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE) $(INSTALLDIR)
|
|
363
|
|
364 xieman: gen_xie_sig.ps wm_xie_e.ps wm_xie_d.ps
|
|
365
|
|
366 wm_xie_e$(EXE): wm_xie_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
367 $(CC) $(LDFLAGS) -o $@ wm_xie_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
368
|
|
369 wm_xie_d$(EXE): wm_xie_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
370 $(CC) $(LDFLAGS) -o $@ wm_xie_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
371
|
|
372 gen_xie_sig$(EXE): gen_xie_sig$(O) wm$(O)
|
|
373 $(CC) $(LDFLAGS) -o $@ gen_xie_sig$(O) wm$(O) $(LIBS)
|
|
374
|
|
375 cmp_xie_sig$(EXE): cmp_xie_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
376 $(CC) $(LDFLAGS) -o $@ cmp_xie_sig$(O) $(WMLIB) $(LIBS)
|
|
377
|
|
378 xieclean:
|
|
379 $(RM) gen_xie_sig$(EXE) wm_xie_e$(EXE) wm_xie_d$(EXE) cmp_xie_sig$(EXE)
|
|
380
|
3
|
381 # Xie2's algorithm (DWT, blind, binary, quantization, approximation image)
|
|
382
|
|
383 xie2: gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE)
|
|
384
|
|
385 xie2test: xie2
|
|
386 gen_xie2_sig$(EXE) -n 800 gen_xie2_sig.c > ../sigs/xie2.sig
|
|
387 wm_xie2_e$(EXE) -s ../sigs/xie2.sig -o ../watermarked/xie2_lena.pgm ../images/lena.pgm
|
|
388 wm_xie2_d$(EXE) -s ../sigs/xie2.sig -o ../wms/xie2.wm ../watermarked/xie2_lena.pgm
|
|
389 cmp_xie2_sig$(EXE) -s ../sigs/xie2.sig ../wms/xie2.wm
|
|
390
|
|
391 xie2install: xie2
|
|
392 $(CP) gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE) $(INSTALLDIR)
|
|
393
|
|
394 xie2man: gen_xie2_sig.ps wm_xie2_e.ps wm_xie2_d.ps
|
|
395
|
|
396 wm_xie2_e$(EXE): wm_xie2_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
397 $(CC) $(LDFLAGS) -o $@ wm_xie2_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
398
|
|
399 wm_xie2_d$(EXE): wm_xie2_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
400 $(CC) $(LDFLAGS) -o $@ wm_xie2_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
401
|
|
402 gen_xie2_sig$(EXE): gen_xie2_sig$(O) wm$(O)
|
|
403 $(CC) $(LDFLAGS) -o $@ gen_xie2_sig$(O) wm$(O) $(LIBS)
|
|
404
|
|
405 cmp_xie2_sig$(EXE): cmp_xie2_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
406 $(CC) $(LDFLAGS) -o $@ cmp_xie2_sig$(O) $(WMLIB) $(LIBS)
|
|
407
|
|
408 xie2clean:
|
|
409 $(RM) gen_xie2_sig$(EXE) wm_xie2_e$(EXE) wm_xie2_d$(EXE) cmp_xie2_sig$(EXE)
|
|
410
|
|
411 # Kundur's algorithm 2 (DWT, blind, binary, quantization, detail subbands, reference watermark)
|
|
412
|
|
413 kund2: gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE)
|
|
414
|
|
415 kund2test: kund2
|
|
416 gen_kund2_sig$(EXE) -n 1000 -l 3 -q 2 gen_kund2_sig.c > ../sigs/kund2.sig
|
|
417 wm_kund2_e$(EXE) -s ../sigs/kund2.sig -o ../watermarked/kund2_lena.pgm ../images/lena.pgm
|
|
418 cjpeg -quality 70 ../watermarked/kund2_lena.pgm | djpeg | wm_kund2_d$(EXE) -s ../sigs/kund2.sig -o ../wms/kund2.wm
|
|
419 cmp_kund2_sig$(EXE) -s ../sigs/kund2.sig ../wms/kund2.wm
|
|
420
|
|
421 kund2install: kund2
|
|
422 $(CP) gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE) $(INSTALLDIR)
|
|
423
|
|
424 kund2man: gen_kund2_sig.ps wm_kund2_e.ps wm_kund2_d.ps
|
|
425
|
|
426 wm_kund2_e$(EXE): wm_kund2_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
427 $(CC) $(LDFLAGS) -o $@ wm_kund2_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
428
|
|
429 wm_kund2_d$(EXE): wm_kund2_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
430 $(CC) $(LDFLAGS) -o $@ wm_kund2_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
431
|
|
432 gen_kund2_sig$(EXE): gen_kund2_sig$(O) wm$(O) signature$(O)
|
|
433 $(CC) $(LDFLAGS) -o $@ gen_kund2_sig$(O) wm$(O) signature$(O) $(LIBS)
|
|
434
|
|
435 cmp_kund2_sig$(EXE): cmp_kund2_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
436 $(CC) $(LDFLAGS) -o $@ cmp_kund2_sig$(O) $(WMLIB) $(LIBS)
|
|
437
|
|
438 kund2clean:
|
|
439 $(RM) gen_kund2_sig$(EXE) wm_kund2_e$(EXE) wm_kund2_d$(EXE) cmp_kund2_sig$(EXE)
|
|
440
|
|
441 # Kundur's algorithm 3 (DWT, blind, binary, quantization, detail subbands)
|
|
442
|
|
443 kund3: gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE)
|
|
444
|
|
445 kund3test: kund3
|
|
446 gen_kund3_sig$(EXE) -n 1000 -l 2 -q 2 gen_kund3_sig.c > ../sigs/kund3.sig
|
|
447 wm_kund3_e$(EXE) -s ../sigs/kund3.sig -o ../watermarked/kund3_lena.pgm ../images/lena.pgm
|
|
448 wm_kund3_d$(EXE) -s ../sigs/kund3.sig -o ../wms/kund3.wm ../watermarked/kund3_lena.pgm
|
|
449 cmp_kund3_sig$(EXE) -s ../sigs/kund3.sig ../wms/kund3.wm
|
|
450
|
|
451 kund3install: kund3
|
|
452 $(CP) gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE) $(INSTALLDIR)
|
|
453
|
|
454 kund3man: gen_kund3_sig.ps wm_kund3_e.ps wm_kund3_d.ps
|
|
455
|
|
456 wm_kund3_e$(EXE): wm_kund3_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
457 $(CC) $(LDFLAGS) -o $@ wm_kund3_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
458
|
|
459 wm_kund3_d$(EXE): wm_kund3_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
460 $(CC) $(LDFLAGS) -o $@ wm_kund3_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
461
|
|
462 gen_kund3_sig$(EXE): gen_kund3_sig$(O) wm$(O) signature$(O)
|
|
463 $(CC) $(LDFLAGS) -o $@ gen_kund3_sig$(O) wm$(O) signature$(O) $(LIBS)
|
|
464
|
|
465 cmp_kund3_sig$(EXE): cmp_kund3_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
466 $(CC) $(LDFLAGS) -o $@ cmp_kund3_sig$(O) $(WMLIB) $(LIBS)
|
|
467
|
|
468 kund3clean:
|
|
469 $(RM) gen_kund3_sig$(EXE) wm_kund3_e$(EXE) wm_kund3_d$(EXE) cmp_kund3_sig$(EXE)
|
|
470
|
0
|
471 # Dugad's algorithm (DWT, blind)
|
|
472
|
|
473 dugad: gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
|
|
474
|
|
475 dugadtest: dugad
|
|
476 gen_dugad_sig$(EXE) -o ../sigs/dugad.sig
|
|
477 wm_dugad_e$(EXE) -s ../sigs/dugad.sig -o ../watermarked/dugad_lena.pgm ../images/lena.pgm
|
|
478 wm_dugad_d$(EXE) -s ../sigs/dugad.sig -o ../wms/dugad.wm ../watermarked/dugad_lena.pgm
|
|
479 cmp_dugad_sig$(EXE) -s ../sigs/dugad.sig ../wms/dugad.wm
|
|
480
|
|
481 dugadinstall: dugad
|
|
482 $(CP) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE) $(INSTALLDIR)
|
|
483
|
|
484 dugadman: gen_dugad_sig.ps wm_dugad_e.ps wm_dugad_d.ps
|
|
485
|
|
486 wm_dugad_e$(EXE): wm_dugad_e$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
487 $(CC) $(LDFLAGS) -o $@ wm_dugad_e$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
488
|
|
489 wm_dugad_d$(EXE): wm_dugad_d$(O) $(LIBPREFIX)wm$(LIB) $(LIBPREFIX)wavelet$(LIB)
|
|
490 $(CC) $(LDFLAGS) -o $@ wm_dugad_d$(O) $(WMLIB) $(WAVELIB) $(LIBS) $(PGMLIBS)
|
|
491
|
|
492 gen_dugad_sig$(EXE): gen_dugad_sig$(O)
|
|
493 $(CC) $(LDFLAGS) -o $@ gen_dugad_sig$(O) $(LIBS)
|
|
494
|
|
495 cmp_dugad_sig$(EXE): cmp_dugad_sig$(O) $(LIBPREFIX)wm$(LIB)
|
|
496 $(CC) $(LDFLAGS) -o $@ cmp_dugad_sig$(O) $(WMLIB) $(LIBS)
|
|
497
|
|
498 dugadclean:
|
|
499 $(RM) gen_dugad_sig$(EXE) wm_dugad_e$(EXE) wm_dugad_d$(EXE) cmp_dugad_sig$(EXE)
|
|
500
|
|
501
|
|
502
|
3
|
503 clean: coxclean bruynclean kochclean corviclean xiaclean zhuclean xieclean kund3clean kund2clean \
|
|
504 dugadclean kimclean wangclean frid2clean toolsclean libraryclean waveletclean xie2clean
|
0
|
505 $(RM) *$(O) *.ps ../sigs/* ../wms/* ../watermarked/*
|
|
506
|
|
507
|
|
508 man: coxman bruynman kochman corviman xiaman xieman toolsman
|
|
509
|
|
510 test: coxtest bruyntest kochtest corvitest xiatest xietest dugadtest zhutest \
|
3
|
511 wangtest frid2test kimtest toolstest kund3test kund2test
|
0
|
512
|
|
513 install: coxinstall bruyninstall kochinstall corviinstall xiainstall xieinstall \
|
3
|
514 dugadinstall zhuinstall wanginstall frid2install kiminstall toolsinstall kund3install kund2install
|
0
|
515
|
|
516 depend:
|
|
517 $(MAKEDEP) *.h *.c
|
|
518
|