()
| 137 | |
| 138 | |
| 139 | def main(): |
| 140 | usage = "usage: %prog -b BASE -t TEXTURE -o OUTPUT "\ |
| 141 | "[-w WAVELET] [-l LEVEL] [-m MODE]" |
| 142 | parser = optparse.OptionParser(usage=usage) |
| 143 | parser.add_option("-b", "--base", dest="base", metavar="BASE", |
| 144 | help="base image name") |
| 145 | parser.add_option("-t", "--texture", dest="texture", metavar="TEXTURE", |
| 146 | help="texture image name") |
| 147 | parser.add_option("-o", "--output", dest="output", metavar="OUTPUT", |
| 148 | help="output image name") |
| 149 | parser.add_option("-w", "--wavelet", dest="wavelet", metavar="WAVELET", |
| 150 | default='db2', help="wavelet name [default: %default]") |
| 151 | parser.add_option("-l", "--level", dest="level", metavar="LEVEL", |
| 152 | type="int", default=4, |
| 153 | help="decomposition level [default: %default]") |
| 154 | parser.add_option("-m", "--mode", dest="mode", metavar="MODE", |
| 155 | default='symmetric', |
| 156 | help="decomposition mode. Adjust this if" |
| 157 | " getting edge artifacts [default: %default]") |
| 158 | parser.add_option("-x", "--base_gain", dest="base_gain", metavar="BG", |
| 159 | type="float", default=None, |
| 160 | help="Base image gain [default: %default]") |
| 161 | parser.add_option("-y", "--texture_gain", dest="texture_gain", |
| 162 | metavar="TG", type="float", default=None, |
| 163 | help="Texture image gain [default: %default]") |
| 164 | parser.add_option("--timeit", dest="timeit", action="store_true", |
| 165 | default=False, help="time blending operations") |
| 166 | |
| 167 | (options, args) = parser.parse_args() |
| 168 | |
| 169 | if None in (options.base, options.texture, options.output): |
| 170 | parser.print_help() |
| 171 | sys.exit(-1) |
| 172 | |
| 173 | base = load_image(options.base) |
| 174 | texture = load_image(options.texture, base.mode, base.size) |
| 175 | |
| 176 | if options.timeit: |
| 177 | t = clock() |
| 178 | |
| 179 | im = blend_images(base, texture, options.wavelet, options.level, |
| 180 | options.mode, options.base_gain, options.texture_gain) |
| 181 | |
| 182 | if options.timeit: |
| 183 | print(f"{clock() - t:.3f}s") |
| 184 | |
| 185 | im.save(options.output) |
| 186 | |
| 187 | if __name__ == '__main__': |
| 188 | main() |
no test coverage detected