test_gen_qrcodes.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from watermark_generate.tools.dataset_process import process_train_dataset, generate_trigger_dataset, \
  2. extract_crypto_label_from_trigger, compare_pred_result
  3. from watermark_generate.tools.gen_qrcodes import generate_qrcodes, detect_qrcode_in_bbox, extract_qrcode_from_image
  4. from watermark_generate.tools.secret_func import get_secret, verify
  5. def test_gen_qrcodes(secret, watermarking_dir):
  6. """
  7. 测试密码标签二维码生成
  8. """
  9. result = generate_qrcodes(key=secret, watermarking_dir=watermarking_dir, variants=4)
  10. if not result:
  11. print('生成失败')
  12. else:
  13. print('生成成功')
  14. if __name__ == '__main__':
  15. # test_embed_label_to_image() # 测试单张图片嵌入密码标签二维码
  16. src_img_path = './dataset/VOC2007/JPEGImages/'
  17. label_path = './dataset/VOC2007/labels/'
  18. dst_img_dir = './dataset/VOC2007_QR/JPEGImages'
  19. trigger_dataset_dir = './dataset/trigger'
  20. trigger_upload_dir = '../watermark_generate/extracted/'
  21. watermark_gen_dir = './dataset/watermarking'
  22. # 测试密码标签生成
  23. secret = get_secret(512)
  24. # 测试密码标签二维码生成
  25. test_gen_qrcodes(secret, watermark_gen_dir)
  26. # 触发集生成
  27. generate_trigger_dataset(watermarking_dir=watermark_gen_dir, src_img_dir=src_img_path,
  28. trigger_dataset_dir=trigger_dataset_dir, percentage=1)
  29. # 测试数据集处理
  30. process_train_dataset(watermarking_dir=watermark_gen_dir, src_img_dir=src_img_path, label_file_dir=label_path,
  31. dst_img_dir=dst_img_dir)
  32. # 测试触发集密码标签提取
  33. label = extract_crypto_label_from_trigger(trigger_upload_dir)
  34. print(label)
  35. print(len(label))
  36. print(label == secret)
  37. # 测试验证模型准确率
  38. compare_pred_result(result_file='./upload/006643.txt',pre_result_file='./resource/results/006643.txt')