识别矩形如何提高识别精度
-
我现在想要识别矩形块,但是矩形的颜色和背景色太相近了并且无法更换颜色,有没有什么办法能提高矩形识别精度?
import sensor, image, time
from pyb import UART,LEDsensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE) # 灰度更快(160x120 max on OpenMV-M7)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(time = 2000)
clock = time.clock()LED(1).on()
LED(2).on()
LED(3).on()while(True):
clock.tick()
img = sensor.snapshot()
# 下面的threshold
应设置为足够高的值,以滤除在图像中检测到的具有
# 低边缘幅度的噪声矩形。最适用与背景形成鲜明对比的矩形。
for r in img.find_rects(threshold = 15000):
img.draw_rectangle(r.rect(), color = (255, 0, 0))
cx = r.x() + (r.w() // 2)
cy = r.y() + (r.h() // 2)
img.draw_line((80,60,cx,cy), color=(127))
img.draw_cross(cx ,cy)
img.draw_cross(80 ,60)
for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))
print(cx,cy)print("FPS %f" % clock.fps())
根据教程里面的矩形识别代码改的
-
先用binary把矩形和背景分割出来,在黑白的图像上再调用img.find_rects