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)

大图:

小图:

最后结果:

相关推荐
Fleshy数模4 小时前
OpenCV 实时人脸检测实战:从视频文件到人脸框标注
人工智能·opencv·计算机视觉
ComputerInBook16 小时前
OpenCV图像处理——绘图函数
图像处理·opencv·绘图函数
Allen747417 小时前
ComfyUI 自动化生产 3D资产 工作流笔记
图像处理·opencv·unity·自然语言处理·3d模型生成·confyui
H Journey18 小时前
openCV之双边滤波
人工智能·opencv·计算机视觉
H Journey18 小时前
openCV之高通滤波
人工智能·opencv·计算机视觉
木心术11 天前
从“能跑“到“好体验“:OpenClaw硬件配置需求深度解析
opencv
格林威2 天前
工业相机图像采集:如何避免多相机数据混乱
人工智能·数码相机·opencv·机器学习·计算机视觉·c#·视觉检测
不懒不懒2 天前
【从入门到实战:OpenCV 人脸识别四种算法实现全解析】
人工智能·opencv·算法
Fleshy数模2 天前
基于 dlib 与 OpenCV 的人脸检测实战:图片与视频场景全解析
人工智能·opencv·音视频
ComputerInBook2 天前
OpenCV图像处理——InputStream类(版本4.12.0)
图像处理·opencv·inputarray