找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
MakerMare-创客海社区 门户 查看主题

怎样改颜色

发布者: FSR | 发布时间: 2019-3-27 03:14 PM| 查看数: 2375| 评论数: 10|帖子模式

目前支持微信扫码直接登陆 或邮箱验证注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在绿色地毯上寻白色的线
image.jpg

最新评论

凡哥 发表于 2019-3-27 17:03:27
QQ截图20190327170530.png
[Python] 纯文本查看 复制代码
'''
OpenMV巡线小车视觉部分代码

功能描述
    OpenMV巡线小车视觉部分代码(核心部分), 
    计算画面的偏移量跟曲线曲率.通过串口通信发送给Arduino

作者: 凡哥@杭州云江科技
更新时间:2018-04-22

使用说明
    1. 在OpenMV IDE上试运行一下此代码, 看处理效果(颜色阈值是否合适等), 直线有没有被框选出来.
    2. OpenMV刚开机的时候(点击Run按钮),将OpenMV的镜头对准到跑道, 获得比较好的图像处理效果.
    3. 将此代码重命名为`main.py`然后copy到OpenMV自带的Flash/SD卡中. (详情见脱机运行教程)
    4. 关闭小车电源, OpenMV与Arduino进行连接, 将OpenMV的镜头对准到跑道, 小车进行上电.

配套教程

    Python中的字节(bytes)与字节数组(bytearray)
    [url]http://www.myfange.com/p/python-bytes-and-bytearray[/url]

    OpenMV绘图-凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/draw.html[/url]
    色块识别 - 凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/color/single-color-recognition.html[/url]
    多演示同时识别
    [url]http://book.myopenmv.com/example/color/multiple-color-recognition.html[/url]
    OpenMV单轨寻线 - 凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/color/single-line-tracking.html[/url]
    OpenMV双轨寻线 - 凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/color/double-line-tracking.html[/url]
    OpenMV脱机运行 - 凡哥带你玩转OpenMV
    [url]https://www.bilibili.com/video/av21149362?from=search&seid=12414720163518497626[/url]


    串口通信 - 凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/hardware/uart.html[/url]
    C语言二进制数据数值解析 - 凡哥带你玩转OpenMV
    [url]http://book.myopenmv.com/example/hardware/binary-parse-number-by-c.html[/url]
    python stuct 廖雪峰
    [url]https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431955007656a66f831e208e4c189b8a9e9f3f25ba53000[/url]
    Python3 Struct官方文档 
    [url]https://docs.python.org/3/library/struct.html[/url]

------------------------------------
作者: 凡哥@杭州云江科技
QQ交流群:564048763
OpenMVIDE版本号: 1.8.1
OpenMV固件版本号: 2.7.0
更新时间 2018.04.25

微信公众号: crfange 云江科技
教学网站: [url]www.myopenmv.com[/url] , [url]www.myfange.com[/url] (新的资源会在这里发布)
------------------------------------
'''
import sensor # 感光芯片模块
import image # 图像类
import time # 时钟
import utime # 延时
import math # 数学计算模块
import struct # 二进制数据打包模块
from pyb import UART,LED,Timer # 串口/LED/定时器

# 光线弱的话, 可以开启LED(4)补光灯
# 该功能仅限于云江科技销售的OpenMV R2
# led(4).on() # 开启LED补光
# LED(4).off() # 关闭LED补光

# 颜色阈值
LINE_COLOR_THRESHOLD = [(20, 100, -40,-10, 8, 39)] # 67
# 二值化图片 RGB值对应到LAB色彩空间的阈值
BINARY_THRESHOLD = [(90, 100, -100, 100, -100, 100)]

IMG_WIDTH = 160 # 图像宽度
IMG_HEIGHT = 120 # 图像高度

# 线段取样框
# ROIS[4] 代表权值,越远处权值越大
# 当然这个值可以自己设定,取决于控制对象与OpenMV姿态
ROIS = [
    (0, 0, IMG_WIDTH, 20, 200),
    (0, 30, IMG_WIDTH, 20, 40),
    (0, 60, IMG_WIDTH, 20, 20),
    (0, 90, IMG_WIDTH, 20, 5)]
ROIS = ROIS[::-1] # 倒序排序,靠近摄像头的排在前面

isDebug = True # 当前是否为调试状态
                # isDebug为True的时候,会进行图像可视化绘制 print信息
                # isDebug = False 可以提高帧率

凡哥 发表于 2019-3-27 17:05:35
QQ截图20190327170722.png
OpenMV的IDE自带阈值工具
QQ截图20190327170809.png
fsrfsrfsr 发表于 2019-3-29 23:09:06
凡哥 发表于 2019-3-27 05:05 PM
OpenMV的IDE自带阈值工具

改了的阈值放在颜色阈值还是二值化图片
凡哥 发表于 2019-3-30 01:05:48
改了的阈值放在颜色阈值
凡哥 发表于 2019-3-30 09:58:08
OpenMV的IDE自带阈值工具
调整后获得一个LAB数组,放在代码里替换掉原有的数组
天行 发表于 2019-4-2 17:27:41
二值化图片 RGB值对应到LAB色彩空间的阈值,还需不需要改变。这两者之间有什么关系吗
凡哥 发表于 2019-4-2 17:40:04
这不就是在threshold editor中改吗
永 19/4/2 17:13:27
@创客海社区
好的
# 二值化图片 RGB值对应到LAB色彩空间的阈值
BINARY_THRESHOLD = [(90, 100, -100, 100, -100, 100)],
这组数值是怎么得到的呢
永 19/4/2 17:13:55
与这个有什么关系吗
# 颜色阈值
LINE_COLOR_THRESHOLD = [(20, 100, -40,-10, 8, 39)] # 67
凡哥 发表于 2019-4-2 17:41:11
天行 发表于 2019-4-2 05:27 PM
二值化图片 RGB值对应到LAB色彩空间的阈值,还需不需要改变。这两者之间有什么关系吗 ...

目前用的都是LAB颜色空间,这2个空间是可以相互转化的。
RGB值对应到LAB色彩空间的阈值,需要转化
凡哥 发表于 2019-4-2 17:44:27
threshold editor中的是LAB阈值,

二值化图片阈值:把图像转化到二值化:
BINARY_THRESHOLD = [(90, 100, -100, 100, -100, 100)],
寻线阈值:找到其中的线的阈值数组
LINE_COLOR_THRESHOLD
天行 发表于 2019-4-3 09:49:51
凡哥 发表于 2019-4-2 05:44 PM
threshold editor中的是LAB阈值,

二值化图片阈值:把图像转化到二值化:

BINARY_THRESHOL
这个值在LINE_COLOR_THRESHOLD的值变了以后,这个值需要调整吗