获取原始图像和隐写图像的差异
(self, stego_data: bytes, stego_filename: Optional[str],
cover_data: bytes, cover_filename: Optional[str],
diff_filename: Optional[str])
| 118 | return 0.0 |
| 119 | |
| 120 | def get_diff(self, stego_data: bytes, stego_filename: Optional[str], |
| 121 | cover_data: bytes, cover_filename: Optional[str], |
| 122 | diff_filename: Optional[str]) -> bytes: |
| 123 | """获取原始图像和隐写图像的差异""" |
| 124 | try: |
| 125 | stego_image = ImageUtil.byte_array_to_image(stego_data, stego_filename) |
| 126 | cover_image = ImageUtil.byte_array_to_image(cover_data, cover_filename) |
| 127 | |
| 128 | stego_pixels = ImageUtil.get_image_pixels(stego_image) |
| 129 | cover_pixels = ImageUtil.get_image_pixels(cover_image) |
| 130 | |
| 131 | # 计算差异(放大差异以便可视化) |
| 132 | diff_pixels = np.abs(stego_pixels.astype(np.int16) - cover_pixels.astype(np.int16)) * 10 |
| 133 | diff_pixels = np.clip(diff_pixels, 0, 255).astype(np.uint8) |
| 134 | |
| 135 | diff_image = ImageUtil.set_image_pixels(Image.new('RGB', stego_image.size), diff_pixels) |
| 136 | return ImageUtil.image_to_byte_array(diff_image, diff_filename) |
| 137 | except Exception as e: |
| 138 | raise StegaPyException(str(e), StegaPyErrors.UNHANDLED_EXCEPTION, self.NAMESPACE) |
| 139 | |
| 140 | def get_readable_file_extensions(self) -> List[str]: |
| 141 | """获取支持读取的文件扩展名""" |
nothing calls this directly
no test coverage detected