python - 我们如何在精明的边缘检测输出周围添加边界框?
问题描述
我正在使用精明的边缘检测,并希望在检测到的边缘周围创建一个边界框,以便每个单词都被单个边界框覆盖。
Canny Edge 输出 -
精明边缘输出周围的边界框 -
我试过以下方法
contours,hierarchy=cv2.findContours(edged,cv2.RETR_LIST,cv2.CHAIN_APPROX_NONE)
boundRect = [None]*len(contours)
for i, c in enumerate(contours):
contours_poly = cv2.approxPolyDP(c, 3, True)
boundRect[i] = cv2.boundingRect(contours_poly)
for i in range(len(contours)):
cv2.rectangle(image, (int(boundRect[i][0]), int(boundRect[i][1])), (int(boundRect[i][0]+boundRect[i][2]), int(boundRect[i][1]+boundRect[i][3])), (0,0,0), 2)
但在这种方法中,每个字母都单独获得边界框。
实际输出 -
轮廓输出 -
解决方案
推荐阅读
- c++ - 我可以在不包含任何库的情况下将 int 转换为字符串吗?
? - javascript - 读取 XML 属性文本并替换文本中间的一些单词
- ruby-on-rails - 当用户和 ActiveAdmin 具有相同模型时,CanCan gem 的 Active Admin 授权
- javascript - PHP数组到javascript循环与json_encode
- python-3.x - NoneType 对象没有属性“组”
- python - 如何使用聪明的选择实现 Django Chained Drop Down
- python - 在 Python 中,可以在函数中使用循环吗?
- php - 如何将 HTTP_REFERER 从 htaccess 转发到页面?
- windows - 无法加载 lua dll 模块
- python - TensorFlow CentralStorageStrategy 有什么用?