我有一个网站,允许用户上传汽车图像,我想放置一个隐私过滤器来检测车辆上的车牌并对其进行模糊处理。
模糊不是问题,但是否有库或组件(首选开源)可以帮助在照片中查找许可证?
注意事项;
编辑:我为此编写了一个Python脚本。
由于您的目标模糊(为了隐私保护),您基本上需要一个高“召回率”检测器作为第一步。以下是如何进行此操作。包含的代码提示使用 OpenCV 和 Python。
转换为灰度。img = cv2.imread('input.jpg',1)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_gray = cv2.GaussianBlur(img_gray, (5,5), 0)
cv2.Sobel(image, -1, 1, 0)
cv2.threshold()
se = cv2.getStructuringElement(cv2.MORPH_RECT,(16,4))
cv2.morphologyEx(image, cv2.MORPH_CLOSE, se)
cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
minAreaRect()
。
根据长宽比、最小和最大面积以及与水平方向的角度选择矩形。 (我用的是2.2minAreaRect()
均显示为橙色,满足我们标准的为绿色。
此步骤后可能会有误报,要过滤它,请使用边缘密度。边缘密度定义为矩形中的
,但我从未找到任何具体的开源实现。虽然有很多商业实现,但没有一个有报价,所以它们可能相当昂贵。