MCPcopy Create free account
hub / github.com/davisking/dlib / test_webp

Function test_webp

dlib/test/image.cpp:2511–2597  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2509 }
2510
2511 void test_webp()
2512 {
2513#ifdef DLIB_WEBP_SUPPORT
2514 print_spinner();
2515 matrix<rgb_pixel> rgb_img, rgb_dec;
2516 matrix<rgb_alpha_pixel> rgba_img, rgba_dec;
2517 matrix<bgr_pixel> bgr_img, bgr_dec;
2518 matrix<bgr_alpha_pixel> bgra_img, bgra_dec;
2519 // this is a matrix<rgb_alpha_pixel> of the 32x32 dlib logo
2520 const std::string data{
2521 "gP79Jk3Zra0ocokRFuNsUUuZg4phoFDDKp9wTEPIHgX3GSQfaiwJIZGVecNTfibjcx8QxSZplz/p"
2522 "st61fSu3N26BEzFl16L7kOsPiktkqJb7poGAXYngdkNPClBOWV0zV300nMmcpKoQ6e9IxLJ9ouJJ"
2523 "++dwNeTNdQN6Ehhk7jdBM62XV1YzcehwRuApNugTjSozbTEqTSdrz1ftXP7rhgVLkWNrnZ2Cd+oF"
2524 "qkIcZKWsnpz0K1JiFMz7J+d3S4aTQSWKH2qezLT/YKGfZsyT3pUCwwdYi/dF/EaUg7mhlRdk66wD"
2525 "WYtoAFObeu85hQbU/uEVhwK6NBSUfLmwIQYtGw+Kr2qKaiTIS6wzcyIRUvI0sVSVeWBXNYPHq6z7"
2526 "t6XcLG5ipOSvGDCUa5nXqnQ8tLKrRpewxvy6M8pzwmw3FqXt3oqq5umxi3MpU5PgU5dFuDor30G/"
2527 "IJr+FtHDWBQHrHlZmbg/NNllK2d0D+fTPNfTYEmOaTdMO8av36523OJK8zXvKWqgPccgjchbIv8O"
2528 "VfO3PwooK9XA23Bt4+nqMlQ9cs9FXmW/QyaoI5/996fShh/KFeup1dsF7VyLu5BDnGX+/t80SaAf"
2529 "2MNPYJZs27klBwZs39u2Eyk37UKTZPK7YFQW+pbMhHInHswcV2TsQHMEA9RONwhkeR7O0JSJrryy"
2530 "2gXvadc+oRqux0Zs1mpOn2f2BSfZnGDbKcgUwcDucI69J30NEKHlvnqZ+4tA3frIEuhZrub9IrHs"
2531 "gQK7HCzJsWfKoF7/p/unykiAL5zh5chNToECkcNNHY9IkRn56bZ6iLv5TrQmWkknjAdP9fY50E1q"
2532 "+asVnWv9DgrtXwJE0pZn/3tHA9CizwkfmF0zu/c0BBixXmi1Vh3E9pf3yVHQIfj96gLGBWTBkLQq"
2533 "DoqWRialGKmH4hnLbNTBqc3lkisAAWdBsobZ5fB27waJbOnoI9LwR6TOohN9IYPR4cSIwStp8qhK"
2534 "np+20vwmZNqPsoD9F9SOlfprkAmrHcP7rw/+yf5fMWps4qj3GuWAElkECI791I4aQsjMlL4aKPoJ"
2535 "+ZAVIooYh1uQLQWNrgxAZRxydbgPAKUs+5pYgGT6Io+HH5piTiuSJowgkBUzA4fX2TmZOaCCLZql"
2536 "d0UnsvoDQLnDhx+uIqzCDut4QDsMRH6j29i1+CnVv6Ye/AAD9GUNlSSIS5pX22gfd6YXrEQYayQH"
2537 "mN72c8oHiw9zf6g/Xz0XCpkXi1ebiDlI21RnHuYw/ml9U0QWqUSk8kPAdUPL1QE7DB+/r1sf0A/+"
2538 "IcJuiEXFvglVJpmfCewfvvtzEJHO1wLdK32mZ97CQvu9Er6zrc+bY5Gh9IOL+loqz8etxQE8I2bI"
2539 "9+s0MTYZgHPZnqJK1NsFLHWGyUNzoRr63jkwQjdiJn1p/lbtzOa5TkhsOLzAR+jjb8Inueg32frv"
2540 "xRHC2o92KkTqOomEmghgnGtdXl77vYTYMt/CUcbqGOAwiSQzw6jZtA5UTXI/6Fc14lMD3BBThbbm"
2541 "KV9u+n5SN66r6hogiFiWUoU9gG20AaFCz4Lk2EqBRM+SnRaNoY/u1zIFRu/8JoghowDNB9hCQgqT"
2542 "14AwF1TDGNTm1hgRtRX5lOrx8WgTXbwGl5YXHqN+oufn3m9FQ1dWxtqHH+dwNUD4MvEGIbNPauBA"
2543 "+Fr4ozAJ8xBrovuVQjxfswoz/xkYPoRbWjhZuYi3vWqeCf6Pvp1+Ak3rd2cRV5HXAjksFE54eerP"
2544 "Kst9eHlpTTEbe2pRs4V+nlZgPI0/lH0z5D8IRBriTX/kujcqwZAj5rDQQndhT4FYxEj7ldZuxC2D"
2545 "yxenJ2goCV0x+UPjPxjRPCHb1EiIX7evPtyvr5UI2O48e7sixwA="
2546 };
2547 ostringstream sout;
2548 istringstream sin;
2549 base64 base64_coder;
2550 compress_stream::kernel_1ea compressor;
2551 sin.str(data);
2552 base64_coder.decode(sin, sout);
2553 sin.clear();
2554 sin.str(sout.str());
2555 sout.clear();
2556 sout.str("");
2557 compressor.decompress(sin, sout);
2558 sin.clear();
2559 sin.str(sout.str());
2560 deserialize(rgba_img, sin);
2561 for (auto quality : {75., 101.})
2562 {
2563 save_webp(rgba_img, "test_rgba.webp", quality);
2564 load_webp(rgba_dec, "test_rgba.webp");
2565 if (quality > 100)
2566 DLIB_TEST(avg_pixel_delta(rgba_img, rgba_dec) == 0);
2567 else
2568 DLIB_TEST(avg_pixel_delta(rgba_img, rgba_dec) < 7);

Callers 1

perform_testMethod · 0.85

Calls 13

print_spinnerFunction · 0.85
save_webpFunction · 0.85
load_webpFunction · 0.85
avg_pixel_deltaFunction · 0.85
rgb_pixelClass · 0.85
deserializeFunction · 0.70
assign_imageFunction · 0.50
strMethod · 0.45
decodeMethod · 0.45
clearMethod · 0.45
set_sizeMethod · 0.45
nrMethod · 0.45

Tested by

no test coverage detected