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