Files
nixpkgs/pkgs/development/python-modules/invisible-watermark/tests/python/encode.py
T
Luflosi 04120a3965 python3Packages.invisible-watermark: add tests
After the 0.2.0 version, there are even more possible cases to consider.
I found it too annoying to do all the testing manually.
Add some tests to make it easy to test everything automatically.

The test python3Packages.invisible-watermark.tests.withOnnx-rivaGan would fail in the nix sandbox on aarch64-linux:
```
Error in cpuinfo: failed to parse the list of possible processors in /sys/devices/system/cpu/possible
Error in cpuinfo: failed to parse the list of present processors in /sys/devices/system/cpu/present
Error in cpuinfo: failed to parse both lists of possible and present processors
terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException'
  what():  /build/source/include/onnxruntime/core/common/logging/logging.h:294 static const onnxruntime::logging::Logger& onnxruntime::logging::LoggingManager::DefaultLogger() Attempt to use DefaultLogger but none has been registered.

/build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 9:     5 Aborted                 (core dumped) invisible-watermark --verbose --action encode --type bytes --method 'rivaGan' --watermark 'asdf' --output output.png '/nix/store/srl698a32n9d2pmyf5zqfk65gjzq3mhp-source/test_vectors/original.jpg'
Exit code of invisible-watermark was 134 while 0 was expected.
```
so I have disabled that test. I believe https://github.com/microsoft/onnxruntime/issues/10038 describes the same issue.
2023-10-27 16:56:36 +02:00

22 lines
497 B
Python

# -*- coding: utf-8 -*-
import os
import cv2
from imwatermark import WatermarkEncoder
input_file_path = os.environ['image']
output_dir = os.environ['out']
message = os.environ['message']
method = os.environ['method']
os.mkdir(output_dir)
bgr = cv2.imread(input_file_path)
encoder = WatermarkEncoder()
encoder.set_watermark('bytes', message.encode('utf-8'))
bgr_encoded = encoder.encode(bgr, method)
output_file = os.path.join(output_dir, 'test_wm.png')
cv2.imwrite(output_file, bgr_encoded)