opencv定位图片中的图案?

使用opencv模板匹配方式。

这种方式针对从原始图片中直接扣小图情况比较好。

python 复制代码
import cv2 as cv2

def find_positions(image_path, small_image_path):
    # 读取大图和小图
    large_image = cv2.imread(image_path)
    small_image = cv2.imread(small_image_path)

    # 小图规格
    small_image_h, small_image_w = small_image.shape[:2]

    # 对比大图与小图
    # 匹配模板
    res = cv2.matchTemplate(large_image, small_image, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
    # 计算矩形左边
    top_left = max_loc

    # 适用于小图长度>高度情况
    # bottom_right = (max_loc[0] + small_image_h, max_loc[1] + small_image_w)

    # 适用于小图长度<高度情况
    bottom_right = (max_loc[0] + small_image_w, max_loc[1] + small_image_h)
    # 画矩形
    cv2.rectangle(large_image, top_left, bottom_right, (0, 0, 255), 3)

    # 展示结果
    cv2.imshow('large_image', large_image)
    cv2.waitKey(0)
    pass


image_path = "D:/Desktop/big.png"
small_image_path = "D:/Desktop/small.png"
find_positions(image_path, small_image_path)

大图:

小图:

最后结果:

相关推荐
初学大模型12 小时前
先剔后识:OpenCV三维预处理与YOLO语义检测协同的机器人视觉系统可行性分析
人工智能·opencv·yolo·计算机视觉·机器人
AI的探索之旅7 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
词却7 天前
OpenCV学习:CNN 人脸检测
opencv
yyk333247 天前
OpenCV中的疲劳检测
opencv
宿州派大星7 天前
【Python实战】:基于 OpenCV + dlib 的传统换脸术原理与实战
opencv·python3.11·dlib
陈年老古董7 天前
MediaPipe 姿态检测与脸部关键点检测
笔记·python·opencv·学习·dlib
a3535413827 天前
DFT到FFT的推导
opencv
别动我齐刘海7 天前
ROS2 Jazzy + C++ 实战路线——ros2_control
c++·人工智能·python·opencv·机器学习·机器人·github
浔溺7 天前
al+大数据每日学习笔记41
opencv·计算机视觉
江畔柳前堤8 天前
字节跳动·大模型应用知识手册
前端·人工智能·深度学习·opencv·目标检测·重构·transformer