From ded6378a3f2d37df842fbb026bdad0d9934ae9f6 Mon Sep 17 00:00:00 2001 From: LanluZ Date: Sat, 29 Jul 2023 09:53:44 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E5=8F=8D=E5=90=9E?= =?UTF-8?q?=E5=9B=BE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/image_management/send_image/anti.py | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 plugins/image_management/send_image/anti.py diff --git a/plugins/image_management/send_image/anti.py b/plugins/image_management/send_image/anti.py new file mode 100644 index 00000000..b7e23685 --- /dev/null +++ b/plugins/image_management/send_image/anti.py @@ -0,0 +1,26 @@ +import cv2 +import random +import warnings +import numpy as np +from PIL import Image + + +def pixRandomChange(img): + # Image转cv2 + img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) + img[0, 0, 0] = random.randint(0, 0xfffffff) + # cv2转Image + img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) + return img + + +def pixRandomChangeFile(path): + # 注意:cv2.imread()不支持路径中文 + warnings.filterwarnings("ignore", category=Warning) + img = cv2.imread(path) + img[0, 0, 0] = random.randint(0, 0xfffffff) + cv2.imwrite(path, img) + print('finish') + + +pixRandomChangeFile('./0.jpg') From 6beb421dd053d0b399a09bacf9248493b36be040 Mon Sep 17 00:00:00 2001 From: LanluZ Date: Sat, 29 Jul 2023 09:53:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=BC=95=E7=94=A8=20=E5=8F=8D=E5=90=9E?= =?UTF-8?q?=E5=9B=BE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/image_management/send_image/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/image_management/send_image/__init__.py b/plugins/image_management/send_image/__init__.py index 2f5ab68d..26e4786b 100755 --- a/plugins/image_management/send_image/__init__.py +++ b/plugins/image_management/send_image/__init__.py @@ -12,6 +12,7 @@ from utils.message_builder import image from utils.utils import FreqLimiter, cn2py, get_message_text, is_number from .rule import rule +from .anti import pixRandomChangeFile __zx_plugin_name__ = "本地图库" __plugin_usage__ = f""" @@ -74,6 +75,8 @@ async def _(event: MessageEvent): return if int(index) > length - 1 or int(index) < 0: await send_img.finish(f"超过当前上下限!({length - 1})") + abs_path = os.path.join(os.getcwd(), path / f"{index}.jpg") + pixRandomChangeFile(abs_path) result = image(path / f"{index}.jpg") if result: logger.info( From 354643f0f6d93edc0f799d8fadd249fdc74aaddd Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Thu, 17 Aug 2023 22:37:50 +0800 Subject: [PATCH 3/4] Update anti.py --- plugins/image_management/send_image/anti.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/image_management/send_image/anti.py b/plugins/image_management/send_image/anti.py index b7e23685..3f113c7a 100644 --- a/plugins/image_management/send_image/anti.py +++ b/plugins/image_management/send_image/anti.py @@ -5,7 +5,7 @@ import numpy as np from PIL import Image -def pixRandomChange(img): +def pix_random_change(img): # Image转cv2 img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) img[0, 0, 0] = random.randint(0, 0xfffffff) @@ -14,13 +14,10 @@ def pixRandomChange(img): return img -def pixRandomChangeFile(path): +def pix_random_change_file(path: str): # 注意:cv2.imread()不支持路径中文 warnings.filterwarnings("ignore", category=Warning) img = cv2.imread(path) img[0, 0, 0] = random.randint(0, 0xfffffff) cv2.imwrite(path, img) - print('finish') - -pixRandomChangeFile('./0.jpg') From d2189adea0143552a5a255012d30e6fc13455320 Mon Sep 17 00:00:00 2001 From: HibiKier <45528451+HibiKier@users.noreply.github.com> Date: Thu, 17 Aug 2023 22:38:11 +0800 Subject: [PATCH 4/4] Update __init__.py --- plugins/image_management/send_image/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/image_management/send_image/__init__.py b/plugins/image_management/send_image/__init__.py index 26e4786b..d44061aa 100755 --- a/plugins/image_management/send_image/__init__.py +++ b/plugins/image_management/send_image/__init__.py @@ -12,7 +12,7 @@ from utils.message_builder import image from utils.utils import FreqLimiter, cn2py, get_message_text, is_number from .rule import rule -from .anti import pixRandomChangeFile +from .anti import pix_random_change_file __zx_plugin_name__ = "本地图库" __plugin_usage__ = f""" @@ -76,7 +76,7 @@ async def _(event: MessageEvent): if int(index) > length - 1 or int(index) < 0: await send_img.finish(f"超过当前上下限!({length - 1})") abs_path = os.path.join(os.getcwd(), path / f"{index}.jpg") - pixRandomChangeFile(abs_path) + pix_random_change_file(abs_path) result = image(path / f"{index}.jpg") if result: logger.info(