使用matlab程序,基于标准卡标定感压纸的压力分布

任务说明

使用富士感压纸(压力测试纸)测量压力,感压纸受压时会显现颜色,根据峰值应力呈现不同的颜色深度。感压制提供了标准比色卡,给出不同颜色深度对应的压力值。
在这里插入图片描述

要求使用matlab,对照标准比色卡,对实验中使用的比色卡进行计算,得出压力分布情况。
在这里插入图片描述
上图的测压纸使用了14次,每次得到一个小区域,分别计算每个小区域的压力分布情况。

解决思路

  1. 将所有图像转换为灰度图像处理,根据比色卡中的离散的(压力值,图像灰度)数据对,拟合出函数,自变量为颜色灰度,因变量为压力值。

  2. 将感压纸中的区域分别裁剪出来,对每个小区域划分网格,计算每个小格中的平均灰度值。

  3. 根据平均灰度值计算每个小格中的平均应力,将网格和应力值一起绘制在图像上,显示出来。

在这里插入图片描述

具体实现

%%手动分割各区域,对图像使用鼠标划方框圈出小区域,双击左键,对结果保存为.fig格式
%读入图片
X = rgb2gray(imread('14_press_paper.jpg'));
Area1 = imcrop(X);
imshow(Area1);
%%将.fig图片读入为二维矩阵形式
open('C:\Users\77607\Desktop\感压纸在matlab上的程序标定\AREA\area_total.fig');h = get(gca,'Children');Area1 = get(h,'Cdata');%图像不足的部分全部补为0。
%图像以cell单元的方式输出,其排列顺序与原图的排向顺序相同。N = 50;         %指定小格的Size[Area1_hang , Area1_lie] = size(Area1);
Integer_hang = floor(Area1_hang/N);
Integer_lie = floor(Area1_lie/N);%使用二维矩阵保存小格的总灰度和平均灰度
sum = zeros(Integer_hang, Integer_lie); 
avg = zeros(Integer_hang, Integer_lie);for i = 1 : Integer_hangfor j = 1 : Integer_lieDivided_image(i,j) = {Area1((i-1)*N+1 : i*N , (j-1)*N+1 : j * N)};temp = Divided_image{i, j};   %I()指的是单元数组中的某一单元,而I{}指的是单元数组中某一单元的内容             [m,n] = size(temp);for k=1:mfor l=1:nsum(i, j) = sum(i, j) + double(temp(k, l));endend avg(i, j) = sum(i, j)/(m*n);end
end%%根据标准比色卡拟合出函数
I1 = rgb2gray(imread('1.5Mpa.jpg'));
I2 = rgb2gray(imread('1.3Mpa.jpg'));
I3 = rgb2gray(imread('1.1Mpa.jpg'));
I4 = rgb2gray(imread('0.9Mpa.jpg'));
I5 = rgb2gray(imread('0.7Mpa.jpg'));
I6 = rgb2gray(imread('0.5Mpa.jpg'));
I7 = rgb2gray(imread('0.3Mpa.jpg'));
I8 = rgb2gray(imread('0.1Mpa.jpg'));
%单元数组,每一个单元可以有不同的尺寸,使用花括号创建
I = {I1, I2, I3, I4, I5, I6, I7, I8};
sum_stand = [0 0 0 0 0 0 0 0];
avg_stand = [0 0 0 0 0 0 0 0];
for i = 1:8temp = I{i};               [m,n] = size(temp);for j=1:1:mfor k=1:1:nsum_stand(i) = sum_stand(i) + double(temp(j, k));endend avg_stand(i) = sum_stand(i)/(m*n);
end
%%
%拟合曲线
Y = [1.5 1.3 1.1 0.9 0.7 0.5 0.3 0.1];
p2 = polyfit(avg_stand, Y, 2);   %2阶多项式拟合
%根据拟合函数计算各小格平均压力
press_val = polyval(p2, avg); %在截取的区域图像上画分割线
for i = 1 : Integer_hangArea1 = insertShape(Area1,'Line',[0 N*i N*Integer_lie N*i],'LineWidth',2,'Color','blue');
endfor i = 1 : Integer_lieArea1 = insertShape(Area1,'Line',[N*i 0  N*i N*Integer_hang ],'LineWidth',2,'Color','blue');
end
figure;
imshow(Area1);
%text(3,4,'0.001','horiz','left','color','r','fontsize',7)
hold on;
%在每个区域上标记上对应的应力值
for i = 1:Integer_hangfor j = 1:Integer_lietemp = press_val(i, j);text(50*j-45,50*i-25,num2str(temp),'horiz','left','color','r','fontsize',8)end
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

斯坦福大学陈丹琦等人解读机器阅读最新进展:超越局部模式匹配

来源:AI 科技评论不久前,斯坦福大学的计算机科学博士陈丹琦的一篇长达 156 页的毕业论文《Neural Reading Comprehension and Beyond》成为「爆款文章」,一时引起了不小轰动。而本文是她与同样师从 Christopher Manning 的同学 Peng Qi 一起发…

智能网联产业链深度报告

来源:智车科技未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网&#…

史上最全的物理学科普(值得收藏)

来源:中科院物理所(ID:cas-iop)本文素材主要摘录自加来道雄的《Hypersapce》和丘成桐的《The Shape of Inner Space》。作者希望凭籍本文,回顾一下两百年来的科学史,看看那些代表着人类最高心智的数学家、物…

量子通信是不是伪科学?潘建伟这样回应

来源:科技日报“墨子号”发射快三年了,到底有什么新发现?量子通信和公众有什么关联,到底是不是伪科学?10日,在全国政协十三届二次会议举行的记者会上,全国政协委员、中国科学技术大学常务副校长…

AI如何设计,才能人类利益最大化?

来源:国机智能机器人曾为现代互联网早期协议和架构设计做出贡献的Vint Cerf,用一个寓言来解释为什么在人工智能等新兴技术出现后,勇敢的领导力至关重要。想象一下,你住在一个被群山环绕的山谷底部的小社区里。在远处的山顶上有一块…

编译 | 5G时代的游戏世界:一年后的AR与VR将会发生的几个变化

来源:spectrum5G已不再是研发中的技术,它已经离我们非常的近,全球许多运营商都在都在部署这一新技术。那么我们可以从这个新一代无线系统中得到什么?不只是更好的智能手机服务。许多公司,比如德国电信,诺基…

《麻省理工科技评论》发布“21世纪迄今十大最糟科技”

来源:网络大数据必须承认,人类总会犯错,在科技的发展上也是一样。所以,当最新一期的《麻省理工科技评论》评出今天这份“ 2000-2019 年糟糕科技清单”时,你千万不要以为这是一件容易的事情。如果某项科技没有达到让人欣…

javascript Array对象

一,创建数组对象 JavaScript的数组支持了对任何数据类型的支持,并不会像java,C#那样指定了数组类型只能存储这种类型。 我们可以使用以下三种方法来创建JavaScript数组对象, 1,var arrnew Array(); 2 , var arrnew Arr…

67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?

来源:算法与数学之美摘要:我们知道强大的深度模型需要很多计算力,那你知道创建一个知识图谱的成本到底是多少吗?德国 Mannheim 大学的研究者最近仔细估算了各种知识图谱每创建一条记录所需要的成本,他们表示对于大型知…

怎样修改MFC中应用程序标题的图标?

一、单文档中修改程序标题的图标 1. 切换到ResourceView视图,右键点击Icon,选择“import” ,导入图标(.ico)文件 2. 在CMainFrame中的OnCreate()函数中添加如下代码: //设置标题栏的图标 HICON m_hIcon AfxGetApp()->LoadIcon(IDI_ICON…

黄仁勋的“数据梦” 英伟达豪掷69亿美金虎口夺食

来源 : Bloomberg 编译:网易智能 晗冰3月12日消息,据国外媒体报道, 图形图像芯片制造商英伟达同意斥资69亿美元收购芯片制造商Mellanox,其欲通过此举大举进军不断增长的数据中心芯片市场。据悉,英伟达对Mel…

即使达到5级自动驾驶阶段,自动驾驶“卡车”也不可能完全“无人”

来源:IEEE编译:大数据文摘 李雷、周素云感谢Waymo和Uber等创业公司,让我们知道了无人驾驶汽车是怎么回事。这些汽车或卡车上配备了大量的传感器,并且依靠强大的计算能力使人们可以放心乘坐。愿景是美好的,但是却忽视了…

MFC中如何给对话框添加背景图片

定位到 void CXXXDlg::OnPaint(),在if()...else()中的else()下添加如下代码: else { //CDialog::OnPaint();//要禁止这个调用 CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&am…

孙正义万字访谈:AI是我现在唯一关注的事情,我是科技的绝对信徒

来源:腾讯科技科技变革丝毫没有减速,自动化就是科技的终极使命!这是孙正义在最新采访中再次强调的理念。在接受CNBC超长采访中,软银创始人、千亿美元愿景基金掌舵者一再表示,AI能解决人类无法解决的问题,未…

Oracle 直方图理论

一.何为直方图 直方图是一种几何形图表,它是根据从生产过程中收集来的质量数据分布情况,画成以组距为底边、以频数为高度的一系列连接起来的直方型矩形图,如图所示 二.ORACLE 直方图 在Oracle中直方图是一种对数据分布情况进行描述的工具。它…

怎样把MySQL的编码方式改为utf8?

一、当我们安装好MySQL后,单击电脑开始,然后运行cmd,记得必须要用管理员的身份运行。然后输入net start mysql 前面操作如果忘记采用管理员身份运行的话,会出现系统访问错误。 二、修改MySQL的编码方式为utf8 1、找到默认MySQL的安…

要更有钱、更烧钱,OpenAI 重组,加速融资之路

来源:AI 科技评论OpenAI 是一个非盈利性的 AI 组织,他们雇佣了许多一流的研究和开发人员,在机器学习理论和深度学习应用方面多有诸多成果,我们曾经报道过的许多强化学习连续控制成果、5v5 DOTA AI「OpenAI Five」、自动生成人类水…

MFC基于单文档制作吹彩色泡泡程序

1、代码如下: // 吹彩色泡泡Doc.h : interface of the CMyDoc class // /#if !defined(AFX_DOC_H__559CF0A7_41F7_48A5_A356_774764C0E60F__INCLUDED_) #define AFX_DOC_H__559CF0A7_41F7_48A5_A356_774764C0E60F__INCLUDED_#if _MSC_VER > 1000 #pragma once #e…

MFC制作贪吃蛇教程详解

写在前面的话 本次贪吃蛇教程主要知识点包括以下几个方面 1 CView类中的消息响应 2 控件的消息响应 3 基于CView类内的具体游戏实现 4 数组 5 游戏图形的实现用CDC类实现。 本版游戏的具体实现是在CViewl类中实现,所以其他…

人们对社会与金钱奖赏的预期共享神经环路

来源:神经科技摘要:在日常生活中,作为多种多样的目标导向行为的诱因,社会性奖赏与物质性奖赏扮演着同样重要的角色。2019年2月23日,国际神经科学杂志《Neuroscience & Biobehavioral Reviews》(影响因子&#xff1…