This commit is contained in:
HuangHai
2026-01-17 07:43:43 +08:00
parent f6fb2ab97f
commit e8eda77cb1
3 changed files with 82 additions and 37 deletions

View File

@@ -877,6 +877,18 @@ def crop_cards_from_image(img_path, output_dir=None, save_debug=True):
# 准备 _vl.jpg (只画框,不画红点) # 准备 _vl.jpg (只画框,不画红点)
vl_img = img.copy() vl_img = img.copy()
# 预先在整张图上标记“兔子广告潜在区域”的蓝色矩形,方便标定
try:
rabbit_x1 = int(w * 0.04)
rabbit_x2 = int(w * 0.96)
rabbit_y1 = int(h * 0.74)
rabbit_y2 = int(h * 0.86)
cv2.rectangle(debug_img, (rabbit_x1, rabbit_y1), (rabbit_x2, rabbit_y2), (255, 0, 0), 3)
cv2.rectangle(vl_img, (rabbit_x1, rabbit_y1), (rabbit_x2, rabbit_y2), (255, 0, 0), 3)
logger.info(f" 标记兔子广告蓝色区域: X={rabbit_x1}-{rabbit_x2}, Y={rabbit_y1}-{rabbit_y2}")
except Exception as e:
logger.warning(f"标记兔子广告蓝色区域失败: {e}")
logger.info(f" Step [2.1/VL] 准备在 VL 图片上绘制 {len(final_cards)} 个场站的绿色方框...") logger.info(f" Step [2.1/VL] 准备在 VL 图片上绘制 {len(final_cards)} 个场站的绿色方框...")
for idx, (y1, y2, x1, x2) in enumerate(final_cards): for idx, (y1, y2, x1, x2) in enumerate(final_cards):

View File

@@ -0,0 +1,33 @@
import os
from PIL import Image, ImageDraw
IMAGE_PATH = r"d:\dsWork\aiData\Output\Screenshot_20260117_073155.jpg"
OUTPUT_PATH = r"d:\dsWork\aiData\Output\rabbit_blue_rect_20260117_073155.jpg"
def draw_rabbit_blue_rect(image_path: str, output_path: str):
if not os.path.exists(image_path):
raise FileNotFoundError(image_path)
img = Image.open(image_path).convert("RGB")
w, h = img.size
# 水平方向收一点边:左右各预留 4% 宽度
x1 = int(w * 0.04)
x2 = int(w * 0.96)
# 垂直方向:稍微向上抬一点上边界,下边界大幅向上
y1 = int(h * 0.74)
y2 = int(h * 0.86)
draw = ImageDraw.Draw(img)
draw.rectangle((x1, y1, x2, y2), outline="blue", width=4)
os.makedirs(os.path.dirname(output_path), exist_ok=True)
img.save(output_path)
print(f"saved: {output_path}")
if __name__ == "__main__":
draw_rabbit_blue_rect(IMAGE_PATH, OUTPUT_PATH)