智能汽车竞赛摄像头处理——摄像头入门(2)

前言

在上一节中,我们学习了如何将总钻风摄像头的图像显示在1.8寸TFT显示屏上,其实我建议大家显示屏还是要选用ips200,像素点多一些,显示的图像更加清晰。

二值化处理

(1)对原始的灰度图像进行二值化,初学可以用固定阈值二值化来理解和学习,后面可以采用高级的动态阈值二值化(大津法),我们这篇文章介绍简单的固定阈值二值化。

(2)图像的像素值范围为0~255(黑色~白色),二值化的意思顾名思义是将整个图像的像素值转化为黑白两个值,即为0和255。

(3)下面的Set_image_towvalues(uint8 value)函数是固定阈值二值化的函数,value的范围是0~255,具体值要在赛道上经过调试后确定。

images.c

cpp 复制代码
uint8  mt9v03x_image_BandW[MT9V03X_H][MT9V03X_W];

//图像二值化
//0 - 255
//黑 - 白
void Set_image_towvalues(uint8 value)
{
    uint8 temp_valude;//暂存灰度值
    for(uint8 i = 0;i < MT9V03X_H;i++)//高
    {
      for(uint8 j = 0;j < MT9V03X_W;j++)//宽
      {
          temp_valude = mt9v03x_image[i][j];
          if(temp_valude < value)
          {
              mt9v03x_image_BandW[i][j] = 0;//黑
          }
          else
          {
              mt9v03x_image_BandW[i][j] = 255;//白
          }
      }

    }
}

images.h

cpp 复制代码
#ifndef CODE_IMAGES_H_
#define CODE_IMAGES_H_

extern uint8  mt9v03x_image_BandW[MT9V03X_H][MT9V03X_W];


void Set_image_towvalues(uint8 value);

#endif /* CODE_IMAGES_H_ */

cpu1_main.c

cpp 复制代码
    while (TRUE)
    {
        if(mt9v03x_finish_flag)     //一幅图像完全采集完毕后,再进行图像的显示判断和显示
        {
            Set_image_towvalues(150); //固定阈值二值化
            tft180_displayimage03x(mt9v03x_image_BandW[0],MT9V03X_W,MT9V03X_H);
            mt9v03x_finish_flag = 0;//图像显示完成后才对标志位清零
        }
    }

经过固定二值化处理后的图像变成了黑白图像,为我们后面进一步的循迹功能做了铺垫,我们要对这个二值化后的数组进行扫线等处理。

相关推荐
AndrewHZ2 小时前
【图像处理基石】如何在图像中提取出基本形状,比如圆形,椭圆,方形等等?
图像处理·python·算法·计算机视觉·cv·形状提取
单片机日志3 小时前
【单片机毕业设计】【mcugc-mcu826】基于单片机的智能风扇系统设计
stm32·单片机·嵌入式硬件·毕业设计·智能家居·课程设计·电子信息
音视频牛哥6 小时前
轻量级RTSP服务的工程化设计与应用:从移动端到边缘设备的实时媒体架构
人工智能·计算机视觉·音视频·音视频开发·rtsp播放器·安卓rtsp服务器·安卓实现ipc功能
小曹要微笑10 小时前
STM32F7 时钟树简讲(快速入门)
c语言·stm32·单片机·嵌入式硬件·算法
audyxiao00110 小时前
期刊研究热点扫描|一文了解计算机视觉顶刊TIP的研究热点
人工智能·计算机视觉·transformer·图像分割·多模态
沐欣工作室_lvyiyi11 小时前
家用按摩椅控制系统设计(论文+源码)
单片机·物联网·毕业设计·按摩椅控制系统
AI科技星11 小时前
为什么变化的电磁场才产生引力场?—— 统一场论揭示的时空动力学本质
数据结构·人工智能·经验分享·算法·计算机视觉
深蓝海拓11 小时前
opencv的模板匹配(Template Matching)学习笔记
人工智能·opencv·计算机视觉
学习路上_write13 小时前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
Coding茶水间13 小时前
基于深度学习的路面坑洞检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉