
=PY("import cv2import numpy as npfrom PIL import Imageimport io获取A1单元格的图片img_data = xl('A1')img = Image.open(io.BytesIO(img_data))img_cv = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)计算拉普拉斯方差(模糊度指标)gray = cv2.cvtColor(img_cv, cv2.COLOR_BGR2GRAY)laplacian_var = cv2.Laplacian(gray, cv2.CV_64F).var()判断结果if laplacian_var < 100:result = '⚠️ 图像模糊,建议重拍 (模糊度:' + str(round(laplacian_var, 1)) + ')'else:result = '✅ 图像清晰可用 (模糊度:' + str(round(laplacian_var, 1)) + ')'result")
=PY("from PIL import Image, ImageDraw, ImageFontimport ioimport base64def process_image(img_data, size=(800,800), format='WEBP', add_watermark=True):# 打开图片img = Image.open(io.BytesIO(img_data))# 1. 调整尺寸(保持比例,白底填充)img.thumbnail(size, Image.Resampling.LANCZOS)new_img = Image.new('RGB', size, (255,255,255))new_img.paste(img, ((size[0]-img.size[0])//2, (size[1]-img.size[1])//2))# 2. 添加水印if add_watermark:draw = ImageDraw.Draw(new_img)# 使用系统字体(需确保字体存在)try:font = ImageFont.truetype('arial.ttf', 24)except:font = ImageFont.load_default()watermark = '© 2026 盖世英雄'bbox = draw.textbbox((0,0), watermark, font=font)text_width = bbox[2] - bbox[0]text_height = bbox[3] - bbox[1]position = (size[0]-text_width-20, size[1]-text_height-20)draw.text(position, watermark, font=font, fill=(200,200,200,128))# 3. 转换为字节output = io.BytesIO()new_img.save(output, format=format, quality=85)return output.getvalue()处理第一张图片(示例)process_image(xl('A2'))")
“帮我写一段Python代码,分析A1单元格的图片,检测是否是人物照片。如果是,识别人脸位置并标注;如果不是,返回‘非人物图片’”
Copilot生成的代码示例=PY("from PIL import Imageimport ioimport face_recognition # 假设库已预装img_data = xl('A1')img = Image.open(io.BytesIO(img_data))转换格式供face_recognition使用import numpy as npimg_array = np.array(img)检测人脸face_locations = face_recognition.face_locations(img_array)if len(face_locations) > 0:# 标注第一个人脸top, right, bottom, left = face_locations[0]result = f'👤 检测到{len(face_locations)}张人脸,第一张位置:上{top}右{right}下{bottom}左{left}'else:result = '📷 非人物图片或未检测到人脸'result")