Files
RoRD-Layout-Recognation/utils/transforms.py

21 lines
643 B
Python
Raw Permalink Normal View History

2025-06-07 23:45:32 +08:00
import cv2
import numpy as np
from PIL import Image
class SobelTransform:
def __call__(self, image):
"""
应用 Sobel 边缘检测增强 IC 版图的几何边界
参数
image (PIL.Image): 输入图像灰度图
返回
PIL.Image: 边缘增强后的图像
"""
img_np = np.array(image)
sobelx = cv2.Sobel(img_np, cv2.CV_64F, 1, 0, ksize=3)
sobely = cv2.Sobel(img_np, cv2.CV_64F, 0, 1, ksize=3)
sobel = np.hypot(sobelx, sobely)
sobel = np.clip(sobel, 0, 255).astype(np.uint8)
return Image.fromarray(sobel)