精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MLX90640紅外熱成像儀測溫模塊開發筆記(四)

工程監測 ? 來源:工程監測 ? 作者:工程監測 ? 2022-07-22 09:33 ? 次閱讀

MLX90640 紅外熱成像儀測溫模塊開發筆記(四)損壞和不良像素的處理
如前“開發筆記(一)”所說,MLX90640 可能存在不超過 4 個像素的損壞或者不良像素,在溫度計算過程完成后,這些不良像素點會得到錯誤的溫度數據,對于處理這些不良數據 MLX 也給出了推薦方法和具體的函數。(其實就是找相鄰的正常的溫度數據取平均來代替不良數據)

pYYBAGLYqLqAVRUnAAhYW2N-cns992.png河北穩控科技MLX90640 紅外熱成像儀測溫模塊


前面開發筆記(一)的內容中所說的 API 庫,里面缺少了對不良像素點的處理函數,在這里補上。
int CheckAdjacentPixels(uint16_t pix1, uint16_t pix2)
{
int pixPosDif;

pixPosDif = pix1 - pix2;
if(pixPosDif > -34 && pixPosDif < -30)
{
return -6;
}
if(pixPosDif > -2 && pixPosDif < 2)
{
return -6;
}
if(pixPosDif > 30 && pixPosDif < 34)
{
return -6;
}

return 0;
}

float GetMedian(float *values, int n)
{
float temp;

for(int i=0; i{
for(int j=i+1; j{
if(values[j] < values[i])
{
temp = values[i]; values[i] = values[j]; values[j] = temp;;>;>

}
}

if(n%2==0)
{
return ((values[n/2] + values[n/2 - 1]) / 2.0);


}
else
{

}


return values[n/2];

}

int IsPixelBad(uint16_t pixel,paramsMLX90640 *params)
{
for(int i=0; i<5; i++)
{
if(pixel == params->outlierPixels[i] || pixel == params->brokenPixels[i])
{
return 1;
}
}

return 0;
}
void MLX90640_BadPixelsCorrection(uint16_t *pixels, float *to, int mode, paramsMLX90640
*params)
{
float ap[4]; uint8_t pix; uint8_t line; uint8_t column;

pix = 0;
while(pixels[pix] != 0xFFFF)
{
line = pixels[pix]>>5;
column = pixels[pix] - (line<<5);

if(mode == 1)
{
if(line == 0)
{
if(column == 0)
{
to[pixels[pix]] = to[33];
}
else if(column == 31)
{

}
else
{

}
}

to[pixels[pix]] = to[62];


to[pixels[pix]] = (to[pixels[pix]+31] + to[pixels[pix]+33])/2.0;

else if(line == 23)
{
if(column == 0)
{
to[pixels[pix]] = to[705];
}
else if(column == 31)
{

}
else
{

}
}

to[pixels[pix]] = to[734];


to[pixels[pix]] = (to[pixels[pix]-33] + to[pixels[pix]-31])/2.0;

else if(column == 0)
{
to[pixels[pix]] = (to[pixels[pix]-31] + to[pixels[pix]+33])/2.0;
}
else if(column == 31)
{

}
else
{

to[pixels[pix]] = (to[pixels[pix]-33] + to[pixels[pix]+31])/2.0;


ap[0] = to[pixels[pix]-33];
ap[1] = to[pixels[pix]-31]; ap[2] = to[pixels[pix]+31]; ap[3] = to[pixels[pix]+33];
to[pixels[pix]] = GetMedian(ap,4);


}
else
{

}


if(column == 0)
{

to[pixels[pix]] = to[pixels[pix]+1];
}
else if(column == 1 || column == 30)
{
to[pixels[pix]] = (to[pixels[pix]-1]+to[pixels[pix]+1])/2.0;
}
else if(column == 31)
{

}
else
{

0)

to[pixels[pix]] = to[pixels[pix]-1];


if(IsPixelBad(pixels[pix]-2,params) == 0 && IsPixelBad(pixels[pix]+2,params) ==

{
ap[0] = to[pixels[pix]+1] - to[pixels[pix]+2]; ap[1] = to[pixels[pix]-1] - to[pixels[pix]-2];
if(fabs(ap[0]) > fabs(ap[1]))
{


}
else
{

}
else
{

}

to[pixels[pix]] = to[pixels[pix]-1] + ap[1];


to[pixels[pix]] = to[pixels[pix]+1] + ap[0];

to[pixels[pix]] = (to[pixels[pix]-1]+to[pixels[pix]+1])/2.0;
}
}
}
pix = pix + 1;
}
}
用法很簡單,在開發筆記(三)MLX90640_CalculateTo(Frame, MLXPars, 0.95, Tr, Temp);之后添加兩行即可。如下(斜體是添加的內容):
……
MLX90640_CalculateTo(Frame, MLXPars, 0.95, Tr, Temp); MLX90640_BadPixelsCorrection(MLXPars.brokenPixels, Temp, 1, MLXPars); MLX90640_BadPixelsCorrection(MLXPars.outlierPixels, Temp, 1, MLXPars);
……
/*
經過上面的處理后,Temp 中的損壞和不良像素點已經處理,Temp 數組中是處理完成后的
768 個溫度值。
*/

pYYBAGK6lTGAd79hAAcQSZdFtVQ429.png河北穩控科技MLX90640 紅外熱成像儀測溫成果展示

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 紅外熱成像儀

    關注

    1

    文章

    111

    瀏覽量

    14883
  • 測溫模塊
    +關注

    關注

    0

    文章

    11

    瀏覽量

    2848
  • MLX90640
    +關注

    關注

    2

    文章

    22

    瀏覽量

    1222
收藏 人收藏

    評論

    相關推薦

    MLX90640 紅外成像儀測溫模塊開發筆記(完整版)

    MLX90640 紅外成像儀測溫模塊開發筆記(一)
    的頭像 發表于 08-01 15:12 ?2508次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b><b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(完整版)

    MLX90640紅外成像儀測溫傳感器模塊PC端操作教程

    MLX90640 紅外成像儀測溫傳感器模塊PC端操作教程
    的頭像 發表于 08-12 14:08 ?3131次閱讀
    <b class='flag-5'>MLX90640</b><b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器<b class='flag-5'>模塊</b>PC端操作教程

    MLX90640紅外成像-紅眼睛相機(中文資料/開發筆記/測試源碼)

    `以實際項目為主線的開發筆記,包括了資料準備、中文資料、API移植、成像算法、插值方法等最近用MLX90640搗鼓DIY了個紅外相機,US
    發表于 10-15 19:18

    RK3288 mlx90640的驅動開發描述

    1、mlx90640的驅動開發描述mlx90640是一款紅外熱像儀模塊, 32×24 像素, I2C 接口通信,兼容 3.3V/5V 電平。
    發表于 05-16 10:28

    MLX90640 開發筆記 成果展示 紅眼睛相機

    MLX90640 開發筆記 成果展示-紅眼睛相機 原理:幾乎所有利用或者發射能量的物體在發生故障前都會產生發熱現象。保證電氣和機械系統運行可靠性的關鍵便是對能源的有效管理。現在,紅外成像
    發表于 06-28 13:45

    MLX90640開發微型紅外成像儀的優勢與特點

    能干什么,也就能做個紅外測溫槍吧。 前段時間因為公司生產電路板測試需要,打算買一臺紅外成像儀測量電路板發熱是否正常,商用的價格還是有些小貴的,我們電路板都不大所以就找了一臺便宜的先用
    的頭像 發表于 06-28 15:34 ?1536次閱讀
    <b class='flag-5'>MLX90640</b><b class='flag-5'>開發</b>微型<b class='flag-5'>紅外</b><b class='flag-5'>成像儀</b>的優勢與特點

    紅外成像儀測溫模塊MLX90640開發筆記(一)

    MLX90640 開發筆記(一)概述及開發資料準備 現在自己在做紅外成像儀的越來越多了,兩年前有個井下機電設備運行狀態的科研項目,當時使用了
    的頭像 發表于 07-19 14:50 ?1319次閱讀
    <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b><b class='flag-5'>模塊</b><b class='flag-5'>MLX90640</b><b class='flag-5'>開發筆記</b>(一)

    MLX90640紅外成像傳感器測溫模塊開發筆記(二)

    API 說明文件里面有官方的移植指導,但我覺得可以把重點放在與 MLX90640 具體操作有關的幾個函數上,而與標準 I2C 相關的函數和文件結構還是按照自己習慣的套路實現。這樣更符合我們開發人員的可控性的習慣。步驟如下:
    的頭像 發表于 07-20 09:22 ?1120次閱讀
    <b class='flag-5'>MLX90640</b><b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像</b>傳感器<b class='flag-5'>測溫</b><b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(二)

    MLX90640紅外成像儀測溫模塊開發筆記(五)

    MLX90640 的 32*24=768 像素雖然比以往的 8*8 或者 16*8 像素提高了很多,但若直接用這些像素還是不能很好的形成像圖,為了使用這些像素點平滑成像就需要對其進行插值,使用更多的像素來繪制圖像。
    的頭像 發表于 07-25 09:23 ?970次閱讀
    <b class='flag-5'>MLX90640</b><b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b><b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(五)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記(六)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記
    的頭像 發表于 07-26 09:09 ?1456次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器<b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(六)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記(七)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記
    的頭像 發表于 07-27 13:41 ?965次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器<b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(七)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記(九)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記
    的頭像 發表于 07-29 09:46 ?1056次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器<b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(九)

    MLX90640 紅外成像儀測溫傳感器模塊開發筆記(十)

    從第一篇開發筆記到今天最后MLX90640 紅外成像儀測溫傳感器
    的頭像 發表于 08-01 09:13 ?1210次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器<b class='flag-5'>模塊</b><b class='flag-5'>開發筆記</b>(十)

    MLX90640 紅外成像儀測溫傳感器 手機連接操作詳細

    河北穩控科技MLX90640 紅外成像儀測溫傳感器 ?手機 APP 軟件 RedEye 連接 MLX9
    的頭像 發表于 08-10 10:03 ?3523次閱讀
    <b class='flag-5'>MLX90640</b> <b class='flag-5'>紅外</b><b class='flag-5'>熱</b><b class='flag-5'>成像儀</b><b class='flag-5'>測溫</b>傳感器 手機連接操作詳細

    MLX90640開發筆記分享

    能干什么,也就能做個紅外測溫槍吧。前段時間因為公司生產電路板測 試需要,打算買一臺紅外成像儀測量電路板發熱是否正常,商用的價格還是有些小貴的,我 們電路板都不大所以就找了一臺便宜
    發表于 09-18 17:48 ?7次下載