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)

大图:

小图:

最后结果:

相关推荐
无垠的广袤3 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
Dfreedom.6 小时前
图像灰度处理与二值化
图像处理·人工智能·opencv·计算机视觉
qwy71522925816310 小时前
9-数字水印的嵌入和提取
人工智能·opencv·计算机视觉
爱打代码的小林15 小时前
基于 OpenCV 的摄像头四格实时风格迁移实现
人工智能·opencv·计算机视觉
一招定胜负15 小时前
Haar级联人脸检测、LBPH与Eigenfaces人脸识别
opencv·计算机视觉
子夜江寒16 小时前
OpenCV 学习:人脸识别与表情检测
opencv·学习·计算机视觉
光羽隹衡16 小时前
计算机视觉——Opencv(银行卡号识别)
人工智能·opencv·计算机视觉
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章19-图像翻转
图像处理·人工智能·opencv·算法·计算机视觉
无垠的广袤1 天前
【Arduino UNO Q】 边缘 AI 视觉部署方案:手写数字识别
人工智能·python·opencv·开发板
智驱力人工智能2 天前
实线变道检测 高架道路安全治理的工程化实践 隧道压实线监测方案 城市快速路压实线实时预警 压实线与车牌识别联动方案
人工智能·opencv·算法·安全·yolo·边缘计算