红外热像仪与激光雷达联合标定后将获得投影矩阵,在数据融合前后点云投影前后有对应关系,通过此关系就可以实现通过RGB值寻找到火点后找到对应的雷达点坐标,有很多不足之处,权当回忆吧!!!
通过RGB识别火点

clce=0.5;%控制精度0.5,1
k=0.5;%/
% 输入所要查找的的RGB值
%138未发现火点,137输出
% r_value =30; %603,149等%138未发现火点
% g_value =33;
% b_value =42;
%
% r_value =5; %红色26,0,0
% g_value =5; %白5,5,5
% b_value =5;%打开图片//
img = imread( 'G:\BiYeSheJi\matlab\0000000138.png' );%打开图片
figure('Position',[20 200 size(img,2) size(img,1)]);%设置窗格显示
axes('Position',[0 0 1 1]);%创建坐标图,定义图形位置和大小,[left bottom width height]
imshow(img,[]);
s=size(img);
%disp(img)
hold on;%当前图层设为背景%//
put=questdlg('输入像素坐标还是RGB','火点定位方式','像素','RGB','close','像素');%新建窗口对话框提示switch putcase '像素'int=inputdlg({'X=','Y='},'请输入',[1 30;1 30]);str=[str2double(int{1}) str2double(int{2})];m=str(1,2);n=str(1,1);K=[m,n];case 'RGB'int=inputdlg({'R=','G=','B='},'请输入',[1 30;1 30;1 30]);%输入窗口str=[str2double(int{1}) str2double(int{2}) str2double(int{3})];r_value =str(1,1); % 将数值数组转换为表示数字的字符数组g_value =str(1,2);b_value =str(1,3);r = img(:, :, 1);g = img(:, :, 2);b = img(:, :, 3);index_r = (r == r_value);index_g = (g == g_value);index_b = (b == b_value);index = index_r & index_g & index_b;[m,n] = find(index==1);K=[m,n];%疑似火点的所有像素点case 'close'clcclose all end% %RGB输入窗口//
% int=inputdlg({'R=','G=','B='},'请输入',[1 30;1 30;1 30]);%输入窗口
% str=[str2double(int{1}) str2double(int{2}) str2double(int{3})];
% r_value =str(1,1); % 将数值数组转换为表示数字的字符数组
% g_value =str(1,2);
% b_value =str(1,3);
% %
% % image 的r, g, b三个分量图像
% r = img(:, :, 1);
% g = img(:, :, 2);
% b = img(:, :, 3);
% % 标示出图像image中红色点的位置为1,其它点为0,结果存放在index中
% index_r = (r == r_value);
% index_g = (g == g_value);
% index_b = (b == b_value);
% index = index_r & index_g & index_b;
% % 最终的指定RGB点位置(x, y)坐标((r == r_value)&(g == g_value)&(b == b_value))
% [m,n] = find(index==1);
% K=[m,n];%疑似火点的所有像素点
A=K;
size(K,1);%/
%%打开原始txt数据
T=importdata('G:\BiYeSheJi\matlab\velo.txt');
%打开投影后的txt数据
F=importdata('G:\BiYeSheJi\matlab\velo_img.txt');%
u=0;
if(size(K,1)~=0)%K不为空矩阵时说明存在火点for j=1:size(K,1)x=K(j,2);y=K(j,1);g=0;for i=1:size(T,1)if(((x-e)<=F(i,1))&&(F(i,1)<(x+e)))%(x-e)<=F(i,1)&&F(i,1)<(x+e)if(((y-e)<=F(i,2))&&(F(i,2)<(y+e)))u=u+1;g=1;fprintf('%f %f %f %d\n',T(i,1),T(i,2),T(i,3),i);%原始点云数据plot(x,y,'o','LineWidth',4,'MarkerSize',1 );%画点%说明性文字num2str,XYZ坐标str=[num2str(T(i,1)') num2str(T(i,2)') num2str(T(i,3)')];text(x,y,cellstr(str),'color','white')%显示字符串endendendif(g==1)A(j,:)=[];%清空该行endend%///%disp(A)if(u~=size(K,1))fprintf('存在未扫描到的火点\n') %存在火点,但是激光雷达未扫描到%msgbox('未扫描到火点位置','提示信息')button=questdlg('存在未扫描到的火点,点击No结束,点击continue扩大扫描范围','警告','Yes','No','continue','Yes');%新建窗口对话框提示switch buttoncase 'yes'case 'No'close allcase 'continue'%///%///h=e+k;v=0;for j=1:size(A,1)x=A(j,2);y=A(j,1);for i=1:size(T,1)if ((x-h)<=F(i,1)&&F(i,1)<(x+h))if((y-h)<=F(i,2)&&F(i,2)<(y+h))v=v+1;fprintf('%f %f %f %d\n',T(i,1),T(i,2),T(i,3),i);%原始点云数据plot(x,y,'o','LineWidth',4,'MarkerSize',1 );%画点str=[ num2str(T(i,1)') num2str(T(i,2)') num2str(T(i,3)')];%将数字转为字符串text(x,y,cellstr(str),'color','white')%显示字符串end end end  endif(v==0)questdlg('仍然未扫描到火点','警告','结束','结束')close allelsequestdlg('扫描结束','提示','Yes','Yes')end     endelsequestdlg('扫描结束','提示','Yes','Yes');%新建窗口对话框提示end
elsefprintf('未发现火点\n')%msgbox('未发现火点','提示信息')questdlg('未发现火点','提示','确定','确定')%新建窗口对话框提示close all
end

【毕设】通过RGB识别红外图像火点(matlab)相关推荐

  1. 【颜色识别】机器视觉RGB识别系统【含GUI Matlab源码 951期】

    ⛄一.机器视觉RGB识别简介 颜色是物体表面的固有特征, 在目标识别和图像分割中有着无法替代的作用.机器视觉是利用光电成像系统和图像处理模块对物体进行尺寸.形状.颜色等的识别.这样, 就把计算机的快速 ...

  2. matlab是那个国家,这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的时候反光比较少...

    这是一个老外写的利用曲率来识别硬币的MATLAB程序.作者所在国家的硬币偏黄色,拍摄的时候反光比较少 2016-08-22 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 这是一个老外写的利 ...

  3. matlab人民币识别,MATLAB-OCR 用MATLAB实现人民币纸币金额的识别与统计 - 下载 - 搜珍网...

    用MATLAB实现人民币纸币金额的识别与统计/说明.txt 用MATLAB实现人民币纸币金额的识别与统计/钞票面额识别与统计/matlab程序及图片/1-1.jpg 用MATLAB实现人民币纸币金额的 ...

  4. 毕设项目-人脸识别考勤签到系统

    毕设项目-人脸识别考勤签到系统 人脸识别小程序.签到小程序,借助百度AI智能识别功能实现. 需求说明 学生信息管理,考勤管理,人脸识别处理大概这三个模块. 功能模块: 登录与注册(两种身份 老师或学生 ...

  5. 【条形码识别】基于matlab条形码识别【含Matlab源码 403期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [条形码识别]基于matlab条形码识别[含Matlab源码 403期] (https://download.csdn.net/downl ...

  6. 【表盘识别】基于matlab霍夫变换钟表表盘识别【含Matlab源码 1943期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[表盘识别]基于matlab霍夫变换钟表表盘识别[含Matlab源码 1943期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  7. 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  8. 【指纹识别】基于matlab指纹图像细节特征提取 【含Matlab源码 227期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[指纹识别]基于matlab指纹图像细节特征提取 [含Matlab源码 227期] (https://download.csdn.net/d ...

  9. 【答题卡识别】Hough变换答题卡识别【含Matlab源码 250期】

    ⛄一.获取代码方式 获取代码方式Q: 完整代码已上传我的资源:[答题卡识别]基于matlab Hough变换答题卡识别[含Matlab源码 250期] 获取代码方式2: 付费专栏图像处理(Matlab ...

最新文章

  1. php提供的用户密码加密函数
  2. 【深度学习的数学】卷积神经网络的搭建
  3. php oracle 锁表,频繁使用的一张表经常好被锁死?怎样处理!
  4. Unity Android解决信息流广告关闭报错
  5. 数据库-Oracle【Oracle数据库设置默认表空间问题及Oracle,SQL,MySQL的自增变量设置】...
  6. 哪些人不能要 哪些人不能留
  7. Spring Security OAuth2整合JWT
  8. 4 关卡流 进阶_赛博朋克2077:实用玩法攻略,技术流玩法攻略
  9. sql 查询数据库索引重建_SQL查询性能的杀手– –了解不良的数据库索引
  10. 这届互联网公司月饼:阿里卡哇伊,百度酷炫风,京东乾隆审美……
  11. 炒股应只做确定的上涨
  12. csv 读写 python_Python CSV读写
  13. 2015年OA选型一览表
  14. 支付宝小程序添加H5域名配置失败原因
  15. 竖版视频怎么批量转换成横版视频
  16. 风场可视化与原理剖析
  17. 上海领科作为A-Level领军学校,为什么要开设IB课程?
  18. fastAPI使用mongoDB
  19. 紫书 统计字符1的个数
  20. Ghost 的高可用安装 安装篇

热门文章

  1. html input datetime格式化及后端接收
  2. OpenSSL 使用openssl工具搭建私有CA
  3. 黑鹰的VIP数据库(一)
  4. Android实现有声计算器代码,android studio实现简单的计算器(无bug)
  5. Qt调用7z实现压缩和解压缩
  6. Markdown排版微信公众号文章
  7. 游戏开发设计模式:命令模式
  8. 多重背包问题和“二进制拆分”
  9. Camera Log 关键字汇总
  10. java http请求发送unicode_c++ 使用httpclient获取网页及utf8与unicode之间转码