test_gen_qrcodes.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import os
  2. from watermark_generate.tools.dataset_process import embed_label_to_image, process_dataset_label
  3. from watermark_generate.tools.gen_qrcodes import generate_qrcodes, extract_qrcode_from_image
  4. from watermark_generate.tools.secret_func import get_secret, verify
  5. watermark_gen_dir = './dataset/watermarking'
  6. def test_gen_qrcodes(secret):
  7. """
  8. 测试密码标签二维码生成
  9. """
  10. generate_qrcodes(key=secret, watermarking_dir=watermark_gen_dir, variants=4)
  11. qr_files = [f for f in os.listdir(watermark_gen_dir) if f.startswith('QR_') and f.endswith('.png')]
  12. reconstructed_key = ''
  13. for f in qr_files:
  14. qr_path = os.path.join(watermark_gen_dir, f)
  15. decode = extract_qrcode_from_image(qr_path)
  16. reconstructed_key = reconstructed_key + decode
  17. result = verify(reconstructed_key)
  18. print(result)
  19. def test_embed_label_to_image():
  20. """
  21. 测试单张图片嵌入二维码
  22. """
  23. secret = 'ABCDEF123123'
  24. embed_label_to_image(secret=secret,img_path='./dataset/test.jpg')
  25. if __name__ == '__main__':
  26. # test_embed_label_to_image()
  27. src_img_path='./dataset/VOC2007/JPEGImages/'
  28. label_path='./dataset/VOC2007/labels/'
  29. dst_img_path='./dataset/VOC2007_QR/JPEGImages'
  30. secret = get_secret(512)
  31. test_gen_qrcodes(secret)
  32. process_dataset_label(watermarking_dir=watermark_gen_dir, src_img_path=src_img_path, label_path=label_path,dst_img_path=dst_img_path)