MCPcopy Create free account
hub / github.com/MearaY/StegaPy / check_mark

Method check_mark

StegaPy/StegaPy.py:146–164  ·  view source on GitHub ↗

验证目标图像中是否包含指定的数字水印,并返回相关性得分。

(self, stego_data: bytes, stego_filename: Optional[str],
                   orig_sig_data: bytes)

Source from the content-addressed store, hash-verified

144 raise StegaPyException(str(e), StegaPyErrors.UNHANDLED_EXCEPTION, self.NAMESPACE)
145
146 def check_mark(self, stego_data: bytes, stego_filename: Optional[str],
147 orig_sig_data: bytes) -> float:
148 """验证目标图像中是否包含指定的数字水印,并返回相关性得分。"""
149 if Purpose.WATERMARKING not in self.plugin.get_purposes():
150 raise StegaPyException(
151 "插件不支持水印",
152 StegaPyErrors.PLUGIN_DOES_NOT_SUPPORT_WM,
153 self.NAMESPACE
154 )
155
156 try:
157 correl = self.plugin.check_mark(stego_data, stego_filename, orig_sig_data)
158 if correl is None or (isinstance(correl, float) and correl != correl): # NaN check
159 return 0.0
160 return float(correl)
161 except StegaPyException:
162 raise
163 except Exception as e:
164 raise StegaPyException(str(e), StegaPyErrors.UNHANDLED_EXCEPTION, self.NAMESPACE)
165
166 def generate_signature(self) -> bytes:
167 """生成用于验证的数字水印签名数据。"""

Callers 4

cmd_wm_verifyFunction · 0.95
watermarking_uiFunction · 0.95
test_embed_and_verifyMethod · 0.45

Calls 2

StegaPyExceptionClass · 0.85
get_purposesMethod · 0.45

Tested by 2

test_embed_and_verifyMethod · 0.36