资源简介
用于openmv对颜色进行识别,并且可以把识别物体的坐标发送给单片机处理。
代码片段和文件信息
# Blob Detection Example
#
# This example shows off how to use the find_blobs function to find color
# blobs in the image. This example in particular looks for dark green objects.
import sensor image time
from pyb import Pin
from pyb import UART
import struct
# For color tracking to work really well you should ideally be in a very very
# very controlled enviroment where the lighting is constant...
#green_threshold = ( 0 80 -70 -10 -0 30)
#green_threshold = ( 70 100 -40 -20 15 35)
green_threshold = ( 60 100 -75 -20 20 40)
#设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL maxL minA
# maxA minB maxB),LAB的值在图像左侧三个坐标图中选取。如果是灰度图,则只需
#设置(min max)两个数字即可。
#red_threshold = ( 15 50 40 80 20 60)
red_threshold = ( 45 70 40 80 20 60)
#设置红色阈值
yellow_threshold = ( 65 100 -30 10 20 80)
blue_threshold = ( 25 75 -10 40 -70 -40)
#black_threshold = ( 10 20 -10 10 0 10)
black_threshold = ( 5 25 -15 0 -5 15)
# You may need to tweak the above settings for tracking green things...
# Select an area in the framebuffer to copy the color settings.
sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.RGB565) # use RGB565.
sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
sensor.skip_frames(10) # Let new settings take affect.
sensor.set_auto_whitebal(False) # turn this off.
#关闭白平衡。白平衡是默认开启的,在颜色识别中,需要关闭白平衡。
clock = time.clock() # Tracks FPS.
uart = UART(3 115200)
time.sleep(100)
while(True):
clock.tick() # Track elapsed milliseconds between snapshots().
img = sensor.snapshot() # Take a picture and return the image.
green_blobs = img.find_blobs([green_threshold])
#find_blobs(thresholds invert=False roi=Auto)thresholds为颜色阈值,是一个元组,需要用括号[ ]括起来。invert=1反转颜色阈值,invert=False默认不反转。roi设置颜色识别的视野区域,roi是一个元组, roi = (x y w h),代表从左上顶点(xy)开始的宽为w高为h的矩形区域,roi不设置的话默认为整个图像视野。这个函数返回一个列表,[0]代表识别到的目标颜色区域左上顶点的x坐标,[1]代表左上顶点y坐标,[2]代表目标区域的宽,[3]代表目标区域的高,[4]代表目标区域像素点的个数,[5]代表目标区域的中心点x坐标,[6]代表目标区域中心点y坐标,[7]代表目标颜色区域的旋转角度(是弧度值,浮点型,列表其他元素是整型),[8]代表与此目标区域交叉的目标个数,[9]代表颜色的编号(它可以用来分辨这个区域是用哪个颜色阈值threshold识别出来的)。
if green_blobs:
#如果找到了目标颜色
for b in green_blobs:
#迭代找到的目标颜色区域
# Draw a rect around the blob.
img.draw_rectangle(b[0:4]color=(02550)) # rect
#用绿色矩形标记出目标颜色区域
img.draw_cross(b[5] b[6]) # cx cy
- 上一篇:python的色情图片识别
- 下一篇:通过python使用opencv计算图像的中心
相关资源
- openmv 识别3个颜色 工程训练大赛
- OpenMV4四代原理图与PCB.zip
- 小车基于openmv摄像头的红灯识别
- openmv定点代码
- 2020电赛G题openmv程序
- Openmv主控物料分拣小车拣乒乓球小车
- Openmv主控物料分拣小车拣乒乓球小车
- 官方OpenMV4.zip
- openmv智能小车寻线代码
- OpenMV形状识别And颜色识别.py
- 颜色识别+串口通信——华北五省ope
- openmv识别红绿蓝物块颜色,并输出物
- 工训物流小车颜色及二维码识别
- OPENMV用作光流模组程序
- openmv识别红色,串口通信,可用于信
- 基于OpenMV与STM32的寻球小车.rar
- openmv目标检测代码
-
xm
l_cascade.py opencv_traincascade.exe ope - OpenMV视觉识别 舵机云台颜色跟踪
- openmv识别物块颜色,并输出物块距离
- openmv识别特定颜色且打印坐标到串口
评论
共有 条评论