直接开始
实行方法
-
解析命令行参数:使用
argparse
库来解析命令行输入,确保用户提供了输入图像和模板图像的路径。 -
读取模板图像:使用
cv2.imread()
函数读取模板图像的路径,并显示原始图像。 -
图像预处理:
- 将图像转换为灰度图,以简化后续处理。
- 应用二值化操作(使用阈值10)将图像转换为二值图像(黑白图),并通过
cv2.THRESH_BINARY_INV
反转颜色,使前景(数字)为白色,背景为黑色。 - 显示预处理后的二值图像。
-
轮廓检测:
- 使用
cv2.findContours()
函数在二值图像上检测轮廓。这里只检测外部轮廓,并使用cv2.CHAIN_APPROX_SIMPLE
方法来简化轮廓形状。 - 在原始图像上绘制检测到的轮廓,并显示结果。
- 使用
-
轮廓排序:
- 使用自定义的
myutils.sort_contours()
函数对检测到的轮廓进行排序,这里假设该函数按照从左到右的顺序排序轮廓。
- 使用自定义的
自定义的myutils库