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)

大图:

小图:

最后结果:

相关推荐
SunnyDays101110 小时前
如何使用 C# 转换 PowerPoint 为 HTML:完整指南
人工智能·opencv·计算机视觉·c#
_李小白1 天前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
xp_fangfei1 天前
通过 Marker(视觉标记)获取机器人位姿
opencv·机器人
Lhan.zzZ1 天前
笔记_2026.4.28_003
c++·笔记·qt·opencv
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章56-OCR
图像处理·人工智能·opencv·算法·计算机视觉·ocr
_李小白2 天前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
Leon_Chenl2 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
H Journey2 天前
常用知识总结C++、CMake、Linux
linux·c++·opencv·cmake
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章53-QR二维码1
图像处理·人工智能·opencv·算法·计算机视觉
星辰徐哥4 天前
OpenCV入门:Windows系统下OpenCV的安装与环境配置
人工智能·windows·opencv