車輛儀表指示燈檢測

2021-10-08 05:34:09 字數 2455 閱讀 6953

1.採用簡單的模板匹配方法,將需要檢測的指示燈擷取成模板,然後再在輸入中進行模板查詢,此做法只適用於模板不旋轉不縮放的情況,所以通用性不高,但速度快。還能返回指示燈的灰度化後的數值,值越大說明燈越亮。在這裡插入**片import cv2

img_gray = cv2.cvtcolor(img, cv2.color_bgr2gray) #轉換為灰度圖

print(img_gray.shape) # 顯示目標大小

print(template.shape) # 顯示模板大小

h, w = template.shape[:2] # rows->h, cols->w

methods = [cv2.tm_ccoeff_normed,

cv2.tm_sqdiff_normed]

for meth in methods:

img2 = img.copy()

res = cv2.matchtemplate(img_gray, template, meth)

print(res.shape) # (567, 1022)

# 644-78+1,1148-127+1;

min_val, max_val, min_loc, max_loc = cv2.minmaxloc(res)

# 如果是平方差匹配tm_sqdiff或歸一化平方差匹配tm_sqdiff_normed,取最小值

if meth in [cv2.tm_sqdiff, cv2.tm_sqdiff_normed]:

top_left = min_loc

else:

top_left = max_loc

bottom_right = (top_left[0] + w, top_left[1] + h)

x=int(top_left[0] + w/2)

y=int(top_left[1] + h/2)

print(x,y)

print("gray:", img_gray[y, x])

# 在匹配點畫小圓心

cv2.circle(res, top_left, 10, 0, 2)

cv2.namedwindow('res',cv2.window_freeratio)

cv2.imshow("res", res)

# 畫矩形|

cv2.rectangle(img2, top_left, bottom_right, (0, 255, 0), 2)

# cv2.imshow("img2", img2)

cv2.namedwindow('img2', cv2.window_freeratio)

cv2.imshow("img2", img2)

cv2.waitkey(0)

2.基於flann的匹配器(flann based matcher)定位,此方法可以將模板進行旋轉,偏移,通用性較高,但速度慢在這裡插入**片

基於flann的匹配器(flann based matcher)定位

import numpy as np

import cv2

from matplotlib import pyplot as plt

min_match_count = 7 # 設定最低特徵點匹配數量為10

mfc指示燈報警顯示 汽車儀表指示燈全方位解讀含義

汽車儀表指示燈解讀 汽車儀表指示燈解讀 偶爾帶孩子開車出門,新手的我也不懂汽車儀表上的指示燈,趕緊收集一些備著吧。不過大家看到這6種燈亮,一定要停車 發動機故障燈 發動機故障燈是顯示發動機的工作狀態,通常是黃色或紅色,一旦發動機故障燈一直亮起,大多數情況都不會自動消失的。剎車系統故障燈 剎車系統對行...

MFC指示燈學習

1 在資源編輯的時候選中按鈕的 owner draw 屬性,不需要選擇 bitmap 屬性.按鈕右鍵 styles owner draw 2 在程式中定義乙個cbitmapbutton成員變數。屬性新增變數,修改變數型別為cbitmapbutton 3 在資源檢視中新增資源bitmap 格式要為bm...

讓scroll lock指示燈閃爍

scroll lock 指示燈 閃爍,可以起提醒作用,沒人會用tty19吧?bin bash email jyhln 163.com msn jyhln msn.com oicq 2899589 if 1 then echo usage 0 time exit 0 fin 1 sleep 1 let...