精华内容
下载资源
问答
  • 2 程控电流源结构框图 3 MCU的外围电路 4 接口转换电路 4 程控电流源软件设计 程控电流源软件流程如5所示。 5 程控电流源软件流程 它接收来自上位机的命令,并根据上位机命令来调整输出电流的大小。...

    1

    引言

    在人类的科学探索与生产实践活动中,仪器仪表是认识世界的重要工具。作为现代社会中“信息获得”的源头,仪器仪表工业代表着一个国家科技发展的水平。指针式仪表可以直观地反映出被测量值的变化趋势,而且还具有结构简单,安装维护方便,具有防尘、防水、防寒、不受电磁场干扰、可靠性高、价格便宜等优点,目前还在电力系统、铁路系统、厂矿企业、计量部门等大量使用。然而采取人工方式工作费时间、劳动强度大、检定效率低、检定误差大、可靠性差。针对人工方式检定的缺点,才用机器视觉来对仪表进行读数必成为未来的主流。

    2

    系统整体结构

    基于机器视觉的指针式仪表图像采集系统如图1所示,各部分工作关系如下:

    1b59e4a0be9994652a1fa8a09e37f692.png

    图1 指针式仪表图像采集系统的组成

    图1中计算机(PC)是整个系统的控制和处理核心,主要完成控制程控标准源输出的标准量、采集表盘图像、图像处理及识别读数、数据管理的功能。程控标准源是在程序控制下,输出标准电源,电源要求比被检定仪表精度高,符合鉴定要求;程控标准源应遵循与计算机匹配的串口通讯规约,对计算机的命令做出正确的执行和回答。USB接口的摄像头是由计算机控制采集被检定仪表的图像。

    3

    程控电流源硬件电路设计

    程控电流源硬件电路如图2所示,在此设计了MCU的外围电路(图3)和接口转换电路(图4)。

    d9cd6324c2829aed7c98a90c833b6893.png

    图2 程控电流源结构框图

    a0bce24263211e4aaf8ec58da84edc93.png

    图3 MCU的外围电路

    fd6e7564f3506f721fe0c32f983496f9.png

    图4 接口转换电路

    4

    程控电流源软件设计

    程控电流源软件流程如图5所示。

    440cbd17db1e57fd7b20e02e3ab0b2b7.png

    图5 程控电流源软件流程图

    它接收来自上位机的命令,并根据上位机命令来调整输出电流的大小。串行口接收方式为中断接收。在串行口正确接收到来自上位机的新命令帧后,分析命令帧得到该次命令的输出电流设定值,设置D/A转换值使DAC输出更新,程控电流源的输出电流也得到了更新。最后应该给上位机发送应答命令,表示已对上位机的命令执行完毕,可以执行下一次的命令。

    5

     基于Matlab的图像处理程序设计

    采集到图像之后,我们要对图像进行处理。本课题采用Matlab软件来进行。Matlab可以获取图像以便进行处理,在Matlab软件含有图像处理工具箱,能进行图像预处理与调试。

    5.1 图像的增强

    图像增强的目的在于改善图像的视觉效果,突出图像的某项特征,比如提高对比度、增加亮度等,来改善一幅图像的视觉效果。针对给定图像的应用场合,有目的地强调图像的整体或局部特性,扩大图像中不同物体特征之间的差别,满足某些特殊分析的需要。其方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。

    针对指针仪表的特征,采用灰度拉伸对采集得到图像的进行对比度增强。经实验得到的效果图如图6所示。

    395770552e0a053ad44b79e11fb20451.png

    图6 灰度变换效果对比图

    5.2 图像的滤波去噪

    实际获得的图像在形成、传输、接收和处理的过程中,不可避免地存在着外部干扰和内部干扰,如光照强度不均匀形成的亮斑或者阴影、光电转换过程中敏感元件灵敏度的不均匀性、数字化过程的量化噪声、传输过程中的误差及人为因素等,均会存在一定程度的噪声干扰。噪声恶化了图像质量,使图像模糊、特征淹没,给分析带来一定的困难。因此,去除噪声、恢复原始图像是图像预处理过程中的一个重要内容。消除图像噪声的工作称之为图像平滑或滤波。图像平滑的目的有两个:改善图像质量和抽出对象特征。滤波实际上是一个对超空泡图像进行平滑的过程,即使图像没有被外界干扰,也需要去除图像中不需要的细节,突出图像的主要特征。

    由于中值滤波能够较好地清除脉冲噪声,使得滤波后的图像均匀,且能极好地保持边界信息,所以本设计采用中值滤波这个方法。图7为经过图像中值滤波后的图像。

    60f685d1ac1d41bf0cf5198f27e26e26.png

    图7 图像中值滤波后

    5.3 图像的二值化

    图像二值化即设定某一阈值(Threshold),利用阈值将灰度图像的数据分成两部分:大于阈值的像素群和小于阈值的像素群。动态阈值二值化是指多阈值动态二值化算法,兼顾了图像总体灰度水平和像素领域的特征,能够适应灰度变化范围比较大的图像,不仅适合于小面积,同样也适合于大面积的扫描文本图像的二值化,对于处理图像的实用性更加广泛,实验结果也可以看到仪表指针、刻度信息都连同完好,图像清晰可见。图8为图像二值化后的图像。

    0201cb72e4cfcbec291c4fabdc3ea7bf.png

    图8 图像二值化后

    6

    结论

    本文研究一个应用于指针表的图像采集系统,包括图像的采集和图像的预处理,并且设计出仿真采集指针表图像的实验系统,通过实验和分析处理,得到最佳的图像预处理效果。

    特别声明:此文章来源《智能机器人》选辑,作重庆电信职业学院 曾小玲

    65ce0b40daa81b557c0b10d80fff0803.gif End 65ce0b40daa81b557c0b10d80fff0803.gif

    声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

    e319bc669c00b917231be6e34a5f9eec.png

    展开全文
  • 布丰投实验:利用概率求圆周率布丰(Comte de Buffon)设计出他的著名的投问题(needle problem)。依靠它,可以用概率方法得到π的近似值。假定在水平面上画上许多距离为a的平行线,并且,假定把一根长为l的同质...

    学过微积分的话可以用它来证明。

    布丰投针实验:利用概率求圆周率

    布丰(Comte de Buffon)设计出他的著名的投针问题(needle problem)。依靠它,可以用概率方法得到π的近似值。假定在水平面上画上许多距离为a的平行线,并且,假定把一根长为l<a的同质均匀的针随意地掷在此平面上。

    布丰证明:该针与此平面上的平行线之一相交的概率为:p=2l/(api) 把这一试验重复进行多次,并记下成功的次数,从而得到P的一个经验值,然后用上述公式计算出π的近似值,用这种方法得到的最好结果是意大利人拉泽里尼(Lazzerini)于1901年给出的。

    他只掷了3408次针,就得到了准确到6位小数的π的值。他的试验结果比其他试验者得到的结果准确多了,甚至准确到使人们对它有点怀疑。还有别的计算π的概率方法。例如,1904年,查尔特勒斯(R·Chartres)就写出了应用下列实例的报告:如果写下任意两个整数测它们互素的概率为6/π2。

    下面就是一个简单而巧妙的证明。找一根铁丝弯成一个圆圈,使其直径恰恰等于平行线间的距离d。可以想象得到,对于这样的圆圈来说,不管怎么扔下,都将和平行线有两个交点。因此,如果圆圈扔下的次数为n次,那么相交的交点总数必为2n。 现在设想把圆圈拉直,变成一条长为πd的铁丝。

    显然,这样的铁丝扔下时与平行线相交的情形要比圆圈复杂些,可能有4个交点,3个交点,2个交点,1个交点,甚至于都不相交。 由于圆圈和直线的长度同为πd,根据机会均等的原理,当它们投掷次数较多,且相等时,两者与平行线组交点的总数可望也是一样的。这就是说,当长为πd的铁丝扔下n次时,与平行线相交的交点总数应大致为2n。

    现在转而讨论铁丝长为l的情形。当投掷次数n增大的时候,这种铁丝跟平行线相交的交点总数m应当与长度l成正比,因而有:m=kl,式中k是比例系数。为了求出k来,只需注意到,对于l=πk的特殊情形,有m=2n。于是求得k=(2n)/(πd)。代入前式就有:m≈(2ln)/(πd)从而π≈(2ln)/(dm)

    http://www。

    zbsyzx。com/bbs/user1/294/archives/2006/1771。html。

    全部

    展开全文
  • 课题名称基于MATLAB的指示表盘识别3.应用背景和思路现实中,我们知道我们肉眼所看到的彩色图像,其实都是有R、G、B三原色按照不同比例组成的,比例不同,对应的颜色就不同。同理,在利用matlab处理一些图像时候,...

    032c0afb1822df97aee9d8c5f6c0d223.png

    1.题目类型

    基于颜色类的识别

    2.课题名称

    基于MATLAB的指示针表盘识别

    3.应用背景和思路

    现实中,我们知道我们肉眼所看到的彩色图像,其实都是有R、G、B三原色按照不同比例组成的,比例不同,对应的颜色就不同。同理,在利用matlab处理一些图像时候,我们往往可以利用颜色的特征来进行定位,分割和识别。如安全帽的定位计数,路锥的识别,水果的分类识别等。该课题中识别如如下:

    9dd8b162e96d46d12e9548852d985be8.png

    需要我们识别出,红色刻度线的示数。我们观察可知,红色是一个明显的特征,通过颜色的方法可以定位出红色刻度线位置,然后计算其坐标,利用已知的刻度值范围,即计算结果。

    4设计过程

    1. 通过颜色定位

    将彩色图像进行分理出RGB三通道,分别设置好每个通道比例,将落入颜色比例的像素置1,否则置0,如下图所示:

    b989670ec7525cc5ea00e59403f6ce8e.png

    2、去除干扰

    有的时候,图中除了目标区域,可能还会伴随以下其他同样被判为红色分量的部分,这时候需要我们利用形态学知识把干扰给去除。MATLAB中,有一个去除二值图中,封闭面积块面积小于一定阈值的库函数,bwareaopen,其调用格式为:I1=bwareaopen(I,yuzhi),表示二值图像I中,把其面积小于yuzhi的白色块给去除掉,置0,这样就留下来感兴趣的精准目标区域。因为这里得到的结果效果比较好,所以无需做干扰的滤波。

    3、连通区域标记

    以上得到的还未必是一整块区域,可能是藕断丝连那种,需要做连同区域标记。

    L = bwlabel(d,8); %标记连通
    STATS = regionprops(L,'all');

    以上中,d为提取颜色分量后的分割二值图,最终得到的连同的一个区域。

    4、计算坐标

    利用zero函数去寻找框定的最外接矩形的四个角的坐标,调用格式如下:

    Ran = zeros(Num,4); % 范围
    Fig = zeros(1,Num); % 长宽比
    for i = 1:Num
        [ix,iy] = find(L == id(i));
        Ran(i,:) = [min(ix),max(ix),min(iy),max(iy)]; % 每一个区域的范围
    End

    得到了坐标,结合原刻度分度值,可以按比例换算刻度值。

    五、运行结果

    bd895c651153ac2e29ac3ccb88e5c976.png
    运行图
    知乎视频www.zhihu.com

    六、思考

    如果是下图,即带有红黄色的干扰呢,又该如何?

    5725c214c898c3cc0cc7b7f4d5612fe8.png
    展开全文
  • MATLAB绘制一幅中国地图

    千次阅读 2020-07-30 23:27:41
    中国矢量数据(面、省界线等shp数据)、地图四要素(图名或标题、指北、比例尺、图例),最好加一个海南岛及南海诸岛的鹰眼。    大概思路: 清理内存 地图投影 加载面文件 加载省界线文件(包含国界...

    博主跟大家分享一下如何用MATLAB制作一幅中国地图,那废话不多说,我们先看一下最终效果吧。

    在这里插入图片描述

    mercator墨卡托圆柱投影地图

    在这里插入图片描述

    lambert兰伯特圆锥投影地图

    一张中国地图大概包括以下要素:

    中国矢量数据(面、省界线等shp数据)、地图四要素(图名或标题、指北针、比例尺、图例),最好加一个海南岛及南海诸岛的鹰眼图。

    大概思路:

    清理内存

    地图投影

    加载面文件

    加载省界线文件(包含国界(含九段线))

    显示省会点

    省会标注

    添加图名

    添加图例

    添加指北针

    添加鹰眼图

    整体代码如下:

    close all, clear all, clc, dbstop if error
    
    h1=worldmap('china')
    setm(h1,'mapprojection','mercator');%圆柱投影
    %setm(h1,'mapprojection','lambert');%正形圆锥投影
    setm(h1,'FFaceColor','w')%图廓
    
    ChinaP=shaperead('bou1_4p.shp','UseGeoCoords',true)%中国面文件
    ChinaL=shaperead('bou2_4l.shp','UseGeoCoords',true)%中国省界线文件(包含九段线)
    CapLon=[117.000923,115.48333,125.35000,127.63333,123.38333,111.670801,87.68333,103.73333,106.26667,112.53333,108.95000,113.65000,117.283042,119.78333,120.20000,118.30000,113.23333,115.90000,110.35000,108.320004,106.71667,113.00000,114.298572,104.06667,102.73333,91.00000,96.75000,117.20000,121.55333,106.45000,116.41667,121.30,114.10000,113.50000];
    CapLat=[36.675807,38.03333,43.88333,47.75000,41.80000, 41.818311,43.76667,36.03333,37.46667,37.86667,34.26667,34.76667, 31.86119,32.05,30.266,26.0833,23.16667,28.68333,20.01667, 22.8240,26.56667,28.2166, 30.58435,30.6666,25.05000,30.600,36.5666,39.133,31.2000, 29.566,39.9166, 25.03,22.20,22.20];
    names={'济南','石家庄','长春','哈尔滨','沈阳', '呼和浩特','乌鲁木齐','兰州','银川','太原','西安','郑州','合肥','南京','杭州','福州','广州','南昌','海口','南宁','贵阳','长沙','武汉','成都','昆明','拉萨','西宁','天津','上海','重庆', '北京','台北','香港','澳门'};
    
    geoshow(ChinaP,'Facecolor',[1 1 0.5])%显示面
    geoshow(ChinaL,'LineStyle','-.','Color','k','LineWidth',1)%显示界线
    geoshow(CapLat,CapLon,'DisplayType','point','Marker','.','MarkerEdgeColor','red')%省会点
    geoshow(39.9166,116.41667,'DisplayType','point','Marker','p','MarkerEdgeColor','red')%首都
    %省会标注
    for i=1:numel(names)
        textm(CapLat(i)+0.3,CapLon(i)+0.3,names(i),'color','k','FontSize',8)
    end
    %图名
    title('中国政区地图','FontSize',20);
    
    %图例
    legend({'省界线','省会','首都','国界线'},'FontSize',12,'Location','southwest')
    
    %比例尺
    scaleruler('units','km')
    setm(handlem('scaleruler1'),'RulerStyle','lines','MajorTick',0:500:1000,'MinorTick',0:250:500,'TickDir','down')
    
    %海南岛及南海诸岛
    h2=axes('pos',[0.5922 0.15 0.13 0.2])
    worldmap([5.559248066 20.549868679],[106.680363685 122.034461754])
    setm(h2,'FFaceColor','w')
    insert1=shaperead('bou2_4l.shp','UseGeoCoords',true)
    geoshow([insert1.Lat],[insert1.Lon],'Color','k','LineWidth',1)
    mlabel
    plabel
    gridm
    setm(h2,'FFacecolor','c')
    title('海南岛及南海诸岛','FontSize',6)
    
    % 指北针
    northarrow('latitude',50,'longitude',62)
    h=handlem('NorthArrow');
    set(h,'FaceColor','k')
    

    运行结果图:

    在这里插入图片描述

    数据文件在博主主页文件ChinaMap.rar压缩包中,请自行下载。

    在这里插入图片描述

    扫码关注微信公众号
    展开全文
  • 一、简介 1 应用背景 指针式机械表盘具有安装维护方便、结构简单、防电磁干扰等诸多优点, 目前广泛应用于工矿企业、能源及计量等部门。随着仪表数量的增加及精密仪表技术的发展,...(3)学会利用MATLAB实现对图像的
  • 一、简介 1 应用背景 指针式机械表盘具有安装维护方便、结构简单、防电磁干扰等诸多优点, 目前广泛应用于工矿企业、能源及计量等部门。随着仪表数量的增加及精密仪表技术的发展,...(3)学会利用MATLAB实现对图像的边
  • %长 x=repmat([-0.5;8.5],1,9); y=repmat(linspace(0,8,9),2,1) line(x,y) hold on %固定图像框 n=1e5; %投次数 countNeedle=0; %记录与线相交次数,初始值为0 % 预分配内存,加快程序运行速度 needleXL=...
  • 也是最近想要研究一下图像细化,又不想用matlab自带的函数库,就查找了一些资料去整图像细化的原理,看了一些博客写的布戳。也就记录一下了。 原理 其实也就在要细化的目标左右两边分别满足四个条件,让目标向着...
  • 一、简介 1 应用背景 指针式机械表盘具有安装维护方便、结构简单、防电磁干扰等诸多优点, 目前广泛应用于工矿企业、能源及计量等部门。随着仪表数量的增加及精密仪表技术的发展,...(3)学会利用MATLAB实现对图像的边
  • MATLAB画视频两帧间的运动矢量

    千次阅读 2019-01-09 09:27:18
    基于MATLAB的Horn–Schunck光流算法求解运动两个相邻帧之间的运动矢量 题目要求 任选一测试视频,输入其任意前后两的帧整,以及运动矢量,运动矢量的绘制可以按照8*8的块为矢量绘制单位。可以使用Horn和...
  • matlab开发-GeographicPolarPlot。带有垂直参考轴和方向的极坐标是顺时针变化的,就像指南一样。
  • 已经安装Matlab的电脑一台(最低版本是R2013b,推荐使用最新版本R2019b); 二. 开始标定 1.第一步 打印标定板 如果你还没有标定,那么你需要打印一块标定板出来,但是你放心,准备标定板的过程是非常简单的。你先...
  • 今天主要讲解代码实现,虽然很多成熟视觉框架已经包含了相机标定,opencv 、matlab、halcon、ros, 为了更深入的结合原理,还是有必要自己码一遍。并在最后附上github 源码地址。这里数据采用OpenCV data ...
  • CCD将采集到的图像数据传输给视觉检测软件MVC多功能图像处理软件,通过软件对带钢表面图像特征进行分析判断,从而进行实时检测、分类和处理各种针孔、边裂等缺陷,其结构原理如下: 【系统功能】 1.操作便捷 操作...
  • 课题名称基于MATLAB的指示表盘识别3.应用背景和思路现实中,我们知道我们肉眼所看到的彩色图像,其实都是有R、G、B三原色按照不同比例组成的,比例不同,对应的颜色就不同。同理,在利用matlab处理一些图像时候,...
  • 相机标定 matlab

    2018-05-24 21:58:54
    matlab 相机标定代码 摄像机标定(Camera calibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵的过程。 [1]基本的坐标系: 世界坐标系; 相机坐标系; 成像平面坐标系; 像素坐标系 ...
  • 课题名称基于MATLAB的指示表盘识别3.应用背景和思路现实中,我们知道我们肉眼所看到的彩色图像,其实都是有R、G、B三原色按照不同比例组成的,比例不同,对应的颜色就不同。同理,在利用matlab处理一些图像时候,...
  • Matlab分形植物模拟

    2013-02-21 19:47:56
    转一个给定的角度δ;|:原地转向180°;[:Push,将龟行当前状态压进栈(stack);]:Pop,将图形 状态重置为栈顶的状态,并去掉该栈中的内容;A:记录状态的方向;z:记录当前的位置。
  • matlab摄像机标定内参

    千次阅读 2015-03-29 16:05:44
    内参的确定常常使用比较成熟的摄像机针孔模型透视变换法,无畸变时就是简单的比例变换,有畸变时要对原进行处理再标定。应用广泛,有较多的集成好的工具可以使用。 matlab中有标定工具箱——camera calibratio
  • MatLab相机标定为什么有两个焦距

    千次阅读 2019-05-06 18:36:46
    MatLab相机标定为什么有两个焦距? 当我们用matlab相机标定函数去标定相机时,我们能得到一个相机的内部参数,简称“内参”。内参是一个3x3的矩阵 其中Cx和Cy表示相机光轴在图像坐标系中的偏移量...由于相机拍摄...
  • 起点坐标为(1,10,800),终点坐标为(21,8,1200),示意如下所示。 面对这样一个实际的三维路径规划问题,其实各位可以设身处地的思考一下。如果让各位去从起点到终点,找到这样一条路径,各位会怎么做? ...
  • 课题题目:基于MATLA霍夫曼hough的指针识别系统课题背景介绍指针式仪表是检测工具中不可或缺的一种,其具有直观的读数指示,结构简单,抗干扰能力强等特点,在生产实践中被广泛的使用,为满足...运行GUI界面及示意...
  • 针对汽车自主驾驶技术的车道检测和跑偏告警问题,提出了一种快速可靠的视觉计算方法。利用方向滤波算子对路面图像进行 5×5 模板运算,得到边缘图像;采用 Otsu 自动阈值算法对图像进行二值化处理,并根据车道在图像...
  • 利用MATLAB对随机概率算法(布丰投)进行演示实现,有具体的详细的代码可供参考,有实验图片。
  • 破解对极几何中的概念障碍 首先介绍下三维重建到底要做什么事。我们知道一个物体在现实世界的位置是三维的,但是照片是二维的。这意味照片拍摄到的场景丢失了一维。...下面这幅就描述了对极几何。对...
  • 图像“抖动”原理

    万次阅读 2017-10-07 17:15:35
    “抖动”由此而生,抖动试图通过在白色背景上生成黑色的二值图像来给出色调变化的直观印象,可以假想一下,黑点越密,那么远距离观察就越黑,如何控制黑点的分布就是“抖动”算法的核心,在此就不再讨论,在matlab中...
  • 对这一问题,该文提出一种专门应用在车载系统的车载全景图像拼接算法,并对其进行 Matlab 仿真,最大限度提 高算法的运算效率,以满足车载系统实时性的要求,真实的反应路况信息,辅助驾驶员安全驾驶。 关键词:...
  • 上篇是对matlab模拟产生的阵列接收语音进行增强,这篇主要是利用Frost波束形成器对真实信号进行增强。 1 测试环境  采集环境为6*3.7*3.4m3的测试室,用恒通DAR2000多路音频采集卡(如1左),通过D型音频接线口与...
  • CCD摄像机标 定

    2010-04-04 22:42:50
    在基于单目视觉的农业轮式移动机器人自主导航系统中, CCD摄像机标定是农业轮式移动机器 人正确和安全导航的前提和关键。...在Matlab环境下拟合出摄像机各内外参数。实验结果表明:该方法可以正确完成CCD摄像机标定。
  • 今天主要讲解代码实现,虽然很多成熟视觉框架已经包含了相机标定,opencv 、matlab、halcon、ros, 为了更深入的结合原理,还是有必要自己码一遍。 这里数据采用OpenCV data 中提供的left 和right标定版图像,我...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

matlab针图

matlab 订阅