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)

大图:

小图:

最后结果:

相关推荐
pchmi32 分钟前
C# OpenCV机器视觉:模板匹配
opencv·c#·机器视觉
腾空烈鹰40 分钟前
OpenCV putText增加中文支持
opencv·puttext 中文显示
Byron Loong1 小时前
Python+OpenCV系列:【打卡系统-需求分析】需求大剖析,考勤革命开启!
python·opencv·需求分析
编码小哥3 小时前
深入解析Mat对象:计算机视觉中的核心数据结构
opencv·计算机视觉
Byron Loong3 小时前
Python+OpenCV系列:【打卡系统-工具模块设计】工具模块深度揭秘,考勤智能化的核心秘籍!
python·opencv·webpack
Learning改变世界17 小时前
ubuntu24.04使用opencv4
opencv
一念之坤1 天前
14篇--模板匹配
图像处理·python·opencv·计算机视觉
AI+程序员在路上2 天前
OpenCV目标检测 级联分类器 C++实现
c++·opencv·目标检测
pchmi2 天前
C# OpenCV机器视觉:图像分割(让照片中的物体各自“安家”!)
opencv·c#·opencvsharp
mmsx2 天前
android opencv导入进行编译
android·人工智能·opencv