first commit
This commit is contained in:
53
detect/module/gap.py
Normal file
53
detect/module/gap.py
Normal file
@@ -0,0 +1,53 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import base64,re
|
||||
import time, os,datetime, sched
|
||||
import cv2
|
||||
from io import BytesIO
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
import requests,re
|
||||
import numpy as np
|
||||
|
||||
|
||||
class quekou():
|
||||
def __init__(self):
|
||||
self.t = int(time.time() * 1000)
|
||||
pass
|
||||
def save_png(self,path,con):
|
||||
with open(path, "wb") as fp:
|
||||
fp.write(con)
|
||||
|
||||
def get_distance2(self,bg,tp):
|
||||
|
||||
bg = base64.b64decode(bg) # base64转二进制
|
||||
|
||||
tp = base64.b64decode(tp) # base64转二进制
|
||||
|
||||
res = self.det.slide_match(tp, bg, simple_target=True)
|
||||
res=res['target'][0]
|
||||
|
||||
return res
|
||||
|
||||
def get_distance(self, bg, tp):
|
||||
|
||||
bg = base64.b64decode(bg) # base64转二进制
|
||||
|
||||
tp = base64.b64decode(tp) # base64转二进制
|
||||
''' bg: 背景图片 tp: 缺口图片 out:输出图片 '''
|
||||
# 读取背景图片和缺口图片
|
||||
bg_img = Image.open(BytesIO(bg)) # 背景图片
|
||||
tp_img = Image.open(BytesIO(tp)) # 缺口图片
|
||||
bg_edge = cv2.Canny(np.array(bg_img), 100, 200)
|
||||
tp_edge = cv2.Canny(np.array(tp_img), 100, 200)
|
||||
# 转换图片格式
|
||||
bg_pic = cv2.cvtColor(bg_edge, cv2.COLOR_GRAY2RGB)
|
||||
tp_pic = cv2.cvtColor(tp_edge, cv2.COLOR_GRAY2RGB)
|
||||
# 缺口匹配
|
||||
res = cv2.matchTemplate(bg_pic, tp_pic, cv2.TM_CCOEFF_NORMED)
|
||||
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) # 寻找最优匹配
|
||||
# 绘制方框
|
||||
tl = max_loc # 左上角点的坐标
|
||||
return tl[0]
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user