adjust_sharpness
Modify image sharpness using a defined factor; enhance or reduce clarity by specifying a value greater or less than 1.0.
Instructions
调整图片锐度
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| factor | Yes | 锐度调整因子,1.0为原始锐度,>1.0增强,<1.0减弱 | |
| image_source | Yes | 图片源,可以是文件路径或base64编码的图片数据 |
Implementation Reference
- tools/color_adjust.py:400-453 (handler)The core asynchronous handler function that validates inputs, loads the image using ImageProcessor, applies sharpness adjustment with PIL's ImageEnhance.Sharpness.enhance(factor), processes output, and returns JSON result.async def adjust_sharpness(image_source: str, factor: float) -> list[TextContent]: """ 调整图片锐度 Args: image_source: 图片数据(base64编码)或文件路径 factor: 锐度调整因子(0.0-2.0) Returns: 调整后的图片数据 """ try: # 验证参数 if not image_source: raise ValidationError("图片数据不能为空") if not validate_numeric_range(factor, 0.0, 2.0): raise ValidationError(f"锐度因子必须在0.0-2.0范围内: {factor}") # 加载图片 image = processor.load_image(image_source) # 调整锐度 enhancer = ImageEnhance.Sharpness(image) enhanced_image = enhancer.enhance(factor) # 输出处理后的图片 output_info = processor.output_image(enhanced_image, "sharpness") result = { "success": True, "message": f"锐度调整成功: 因子 {factor}", "data": { **output_info, "sharpness_factor": factor, "size": image.size } } return [TextContent(type="text", text=json.dumps(result, ensure_ascii=False))] except ValidationError as e: error_result = { "success": False, "error": f"参数验证失败: {str(e)}" } return [TextContent(type="text", text=json.dumps(error_result, ensure_ascii=False))] except Exception as e: error_result = { "success": False, "error": f"锐度调整失败: {str(e)}" } return [TextContent(type="text", text=json.dumps(error_result, ensure_ascii=False))]
- main.py:429-442 (registration)The MCP tool registration using the @mcp.tool() decorator. This synchronous wrapper calls the core async handler via safe_run_async and handles errors.@mcp.tool() def adjust_sharpness( image_source: Annotated[str, Field(description="图片源,可以是文件路径或base64编码的图片数据")], factor: Annotated[float, Field(description="锐度调整因子,1.0为原始锐度,>1.0增强,<1.0减弱", gt=0)] ) -> str: """调整图片锐度""" try: result = safe_run_async(color_adjust_sharpness(image_source, factor)) return result[0].text except Exception as e: return json.dumps({ "success": False, "error": f"调整锐度失败: {str(e)}" }, ensure_ascii=False, indent=2)
- tools/color_adjust.py:85-104 (schema)Explicit input schema definition for the adjust_sharpness tool within the get_color_adjust_tools() function, specifying parameters and validation ranges.Tool( name="adjust_sharpness", description="调整图片锐度", inputSchema={ "type": "object", "properties": { "image_source": { "type": "string", "description": "图片数据(base64编码)或文件路径" }, "factor": { "type": "number", "description": "锐度调整因子(0.0-2.0,1.0为原始锐度)", "minimum": 0.0, "maximum": 2.0 } }, "required": ["image_source", "factor"] } ),