From 8fe5bf1295799a63aca7a16469771e257e5cfc49 Mon Sep 17 00:00:00 2001 From: Brian Woods Date: Wed, 22 Feb 2023 01:09:37 -0500 Subject: Add webp scripts and makefiles Add scripts for testing compression quality and converting collections of pngs to webps. --- webp/lossless_z_gen_graph.m | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 webp/lossless_z_gen_graph.m (limited to 'webp/lossless_z_gen_graph.m') diff --git a/webp/lossless_z_gen_graph.m b/webp/lossless_z_gen_graph.m new file mode 100755 index 0000000..d363c49 --- /dev/null +++ b/webp/lossless_z_gen_graph.m @@ -0,0 +1,36 @@ +#!/usr/bin/octave +% SPDX-FileCopyrightText: 2023 Brian Woods +% SPDX-License-Identifier: GPL-2.0-or-later + +files = {'lossless_z_images/PNG_01-z_VAR.webp', ... + 'lossless_z_images/PNG_02-z_VAR.webp', ... + 'lossless_z_images/PNG_03-z_VAR.webp', ... + 'lossless_z_images/PNG_04-z_VAR.webp'}; +var_values = 0:1:9; +files_len = length(files); +var_values_len = length(var_values); +results = zeros(files_len, var_values_len); + +for i = 1:files_len + for j = 1:var_values_len; + filepath = strrep(files{i}, 'VAR', num2str(var_values(j), "%d")); + [file, ~, ~] = stat(filepath); + results(i,j) = file.size; + end +end + +% normalize +for i = 1:files_len + results(i,:) = results(i,:)/max(results(i,:)); +end + +f = figure('visible','off'); +plot(var_values, results(1,:),"b-"); +hold on; +plot(var_values, results(2,:), "g-"); +plot(var_values, results(3,:), "r-"); +plot(var_values, results(4,:), "c-"); +xlabel ("z compression level"); +ylabel ("normalized file size"); +legend ("PNG 01", "PNG 02", "PNG 03", "PNG 04"); +print('lossless_z_graph.png'); -- cgit v1.2.3