python - 如何自动查找照片中细节的坐标 - openCV
问题描述
我有一堆图片(附在下面)。我在每个图像中都有一个标志,我想使用 openCV 提取标志。但是,我不知道如何做到这一点,我也没有任何代码。有没有人有任何大致的想法来分别拍摄这些图像中的每一个并自动删除标志,并对其进行概括,以防我添加更多类似于下面给出的示例图像的图像。
标志图像示例:
解决方案
这是一个可行的解决方案。
限制: 此解决方案假定符号始终包含数字。如果不是这种情况,这可能不起作用。
gpu
如果标志不可用,则将其设置为 false。
import cv2
from easyocr import Reader
image = cv2.imread("./image/path/image.jpg")
languages = ['en']
reader = Reader(languages, gpu = True)
results = reader.readtext(image)
def cleanup_text(text):
return "".join([c if ord(c) < 128 else "" for c in text]).strip()
for (bbox, text, prob) in results:
text = cleanup_text(text)
if text.isnumeric():
print(bbox)
(tl, tr, br, bl) = bbox
tl = (int(tl[0]), int(tl[1]))
tr = (int(tr[0]), int(tr[1]))
br = (int(br[0]), int(br[1]))
bl = (int(bl[0]), int(bl[1]))
cv2.rectangle(image, tl, br, (0, 255, 0), 2)
cv2.putText(image, text, (tl[0], tl[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2)
cv2.imshow("Sign", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Credit: 显示边界框和清除文本的代码来自此博客。
推荐阅读
- swift - Swift 包显示错误为 No such module for added dependency
- git - GitHub 会保存所有推送到远程的提交吗?
- php - 数据表警告:表 id=DataTables_Table_0 - Ajax 错误 - Laravel
- django - 如果对象存在于自定义标签 Django
- rust - 从 HashSet 中“弹出”一个值
- python - 使用 MongoDB 的 Scrapy 管道不起作用
- python - Python 按计划松弛您的 Tableau 仪表板
- hash - 带有子类别的集合散列
- typescript - 我向无服务器的nestjs发送了一个服务器请求,但没有响应
- esp32 - 如何将 ESP32-IDF HID 设备配置为 BLE 鼠标或 BLE 操纵杆?