日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

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

發布時間:2024/7/23 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用matlab程序,基于标准卡标定感压纸的压力分布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

任務說明

使用富士感壓紙(壓力測試紙)測量壓力,感壓紙受壓時會顯現顏色,根據峰值應力呈現不同的顏色深度。感壓制提供了標準比色卡,給出不同顏色深度對應的壓力值。

要求使用matlab,對照標準比色卡,對實驗中使用的比色卡進行計算,得出壓力分布情況。

上圖的測壓紙使用了14次,每次得到一個小區域,分別計算每個小區域的壓力分布情況。

解決思路

  • 將所有圖像轉換為灰度圖像處理,根據比色卡中的離散的(壓力值,圖像灰度)數據對,擬合出函數,自變量為顏色灰度,因變量為壓力值。

  • 將感壓紙中的區域分別裁剪出來,對每個小區域劃分網格,計算每個小格中的平均灰度值。

  • 根據平均灰度值計算每個小格中的平均應力,將網格和應力值一起繪制在圖像上,顯示出來。

  • 具體實現

    %%手動分割各區域,對圖像使用鼠標劃方框圈出小區域,雙擊左鍵,對結果保存為.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

    總結

    以上是生活随笔為你收集整理的使用matlab程序,基于标准卡标定感压纸的压力分布的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。