當前位置:首頁 » 操作系統 » 去毛刺演算法

去毛刺演算法

發布時間: 2023-05-03 02:56:35

❶ 全局收斂的演算法有哪些

1、毛刺收斂:在織雲監控中,告警策略為了防止毛刺的影響,會將告警策略定義為10分鍾發生3次類似的模式。
2、同類收斂:塊有300個監控實力,產生了300條的告警,只要有一條告給運維,對於運維同類收斂掉了。
3、時間收斂:生產環境中有很多定時的任務,如定時跑批會引起VO的陡增等異寬,這種可以針對性的收做掉。
4、盡夜收斂:有一些告警,在分布式服務的高可用架構下,晚上不需要告警出來,可以等白天才告警,更人性化的管理。
5、變更收斂:若告警的時間點有運維的活動就要收斂掉它。取決於要把運維的活動都收口在標准化運維的平台,運維平台對生產環節都要講變更日誌寫入在變更記錄中心那裡,然後統一告警系統能夠關聯變更記錄來決策是收斂還是發出告警。

❷ 用stm32做計算器

硬體電路答耐知識當然需要,但不是很難,知道串口(藍牙可以使用銷舉蘆串口藍牙模塊)和oled所用的介面,基本的數字電路開發只是就可以了。

軟體上需要了解且能應用OLED驅動,會使用STM開發框架,會對按鍵做簡單的去毛刺演算法,當然工作量主虧帶要在顯示部分。
很好的用於學習STM的項目。

❸ 數字信號測量中的平滑演算法怎麼算

其實最簡單的平滑演算法就是對之前的數據求一個平均值,即
y(t) = (y(t-n)+y(t-n+1)+...+y(t))/(n+1)
其實,這么做的理由很簡單,這相當於是一個n+1階的FIR濾波器,然後每個系數都是1/(n+1)。
說白了,就是一個低通濾波器,因此可以起到抑制毛刺等高頻信號的結果。
其實,我個人認為,如果你好好設計一個FIR濾波器,然後按照那個系數來進行調整,比這種方法去掉毛刺的效果好得多,你可以利用matlab的工具fdatool,有不懂可以繼續追問。

❹ 單片機鍵盤去抖動c語言程序!!!

使用這個到板子裡面:

  • #include <reg52.h>

  • sbit ADDR0 = P1^0;

  • sbit ADDR1 = P1^1;

  • sbit ADDR2 = P1^2;

  • sbit ADDR3 = P1^3;

  • sbit ENLED = P1^4;

  • sbit KEY1 = P2^4;

  • sbit KEY2 = P2^5;

  • sbit KEY3 = P2^6;

  • sbit KEY4 = P2^7;

  • unsigned char code LedChar[] = { //數碼管顯示字元轉換表0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};

  • void delay();

  • void main(){

  • bit keybuf = 1; //按鍵值暫存,臨時保存按鍵的掃描值

  • bit backup = 1; //按鍵值備份,保存前一次的掃描值

  • unsigned char cnt = 0; //按鍵計數,記錄按鍵按下的次數

  • ENLED = 0; //選擇數碼管 DS1 進行顯示

  • ADDR3 = 1;

  • ADDR2 = 0;

  • ADDR1 = 0;

  • ADDR0 = 0;

  • P2 = 0xF7; //P2.3 置 0,即 KeyOut1 輸出低電平

  • P0 = LedChar[cnt]; //顯示按鍵次數初值

  • while (1){

  • keybuf = KEY4; //把當前掃描值暫存

  • if (keybuf != backup){ //當前值與前次值不相等說明此時按鍵有動作

  • delay(); //延時大約 10ms

  • if (keybuf == KEY4){ //判斷掃描值有沒有發生改變,即按鍵抖動

  • if (backup == 0){ //如果前次值為 0,則說明當前是彈起動作

  • cnt++; //按鍵次數+1

  • //只用 1 個數碼管顯示,所以加到 10 就清零重新開始

  • if (cnt >= 10){

  • cnt = 0;

    }

    P0 = LedChar[cnt]; //計數值顯示到數碼管上

    }

  • backup = keybuf; //更新備份為當前值,以備進行下次比較
    }
    }
    }
    }

  • /* 軟體延時函數,延時約 10ms */

  • void delay(){

  • unsigned int i = 1000;

  • while (i--);
    }

❺  數學形態學基本演算法

數學形態學(mathematical morphology)是數字圖像處理領域中的一門新興學科,它是研究數字圖像影像結構特徵與快速並行處理方法的理論。數學形態學是建立在集合論的基礎上,並溶入了積分幾何理論。其主要思想是通過使用一種稱為結構元素的已知結構小影像特徵集合與影像目標相比較來完成各種復雜的運算——形態變換。數學形態學可用來進行二值圖像、灰度圖像及彩色圖像的分析。但基於大多數礦圖的現狀,我們重點研究了二值圖像的形態變換。

設X、Y為待處理的二值圖像,B是所使用的結構元素,通常B是由3×3窗口所定義(最小結構元素),則可定義如下基本形態變換:

(1)膨脹(Dilation)

工礦區環境動態監測與分析研究

它是結構元素B在圖像X所有目標元素位置上平移後點的軌跡。

(2)腐蝕(Erosion)

工礦區環境動態監測與分析研究

它是把結構元素B平移後放於圖像X的某個位置上,當B上各點都與X上相應點唯慎重合時,B的原點位置的軌跡。

(3)斷開(Opening)

工礦區環境動態監測與分析研究

它是對圖像X先腐蝕後膨脹,其結果是X中能恰好完全包含B的部分,從而去掉圖像上的微小連接、毛刺和凸出部分。

(4)閉合(Closing)

工礦區環境動態監測與分析研究

與斷開運算相反,閉合運算能去掉圖像X中的小孔和凹部並連接斷線。

(5)擊中或失落(Hit or Miss)

工礦區環境動態監測與分析研究

其中B1∪B2=B且B1∩B2=∅(空集)。當

時,為失落,否則為擊中。擊中運算相當於一種條件嚴格的模板匹配,它不僅指出了被匹配點應滿足的性質即模板的形狀,同時也指出這些點不應滿足的性質,即對背景的要求。蔽山棚

由以上基本形態變換可以構成形態薄化和厚化。

(6)薄化(Thinning)

工礦區環境動態監測與分析研究

(7)厚化(Thickening)

工礦區環境動態監測與分析研究

以上各式中涉及到一些圖像集合運算,其含義分別為:XUY為圖像集合並;X∩Y為圖像集合交;Xc為圖像X的補集(對於二值圖像而言,可視為其色調反轉圖像);X/Y=X∩Yc

由以上基本形態變換及集合運算一起可以構成各種復宏則雜的形態變換運算,如條件形態變換、序貫形態變換、條件序貫形態變換以及動態條件序貫形態變換等。基於這些形態變換,構成了礦圖掃描圖像處理的理論體系。

❻ 消除Photoshop中常見的鋸齒


本教程主要針對(尤其是頁面軟體界面設計這種對精度要求很高的地方)細節方面總是受到鋸齒的困擾,而拉低了整體檔次。特根據自己的經驗講一講常見的毛刺問題。
一、ctrl+t 類變形導致的鋸齒問題
1. 原因:常規選項設置不當(很少有的情況)
解決:打開菜單 [編輯]-[首選項]-[常規]。請確保你的[圖像插值]設置為「兩次立方(適用於平滑漸變)」。
當然你有特殊需要且明確這里選項的含義則另當別論(比如說像素風格的縮放一般用「鄰近」來確保不模糊)。
2. 原因:旋轉與縮小等產生的鋸齒與走形
解決:
(1) 先旋轉後縮小,分兩步走(把一次ctrl+t 拆分為兩次,最後一次再縮小可以減少變形/旋轉產生的毛刺)。
(2)採用矢量對象(比如常見的文字透視變形,不要選擇[柵格化],而採用[轉換為形狀])。矢量對象在一般情況下變形更保真,另一個顯著優點是經得起反復ctrl+t
而不會產生問題。
圖04
(3) 有多大畫多大,最好別ctrl+t (特別適用於簡單形狀)。同理,能少ctrl+t,就不要反復ctrl+t
。特別忌諱拉大又拉小,轉來又轉去~~ 結合第一條:如果存在縮小,最好是兩次變形,一次形狀到位,第二次縮小。
3. 原因:旋轉90度/180度時,如果用中點定位則會發生重新運算。導致模糊or鋸齒產生。
解決:要想最大程度保持原樣,最好在90度(180度)旋轉時用角點定位(隨便哪個角點)。這樣可以避免重新運算像素導致的質量損失。
二、多次填充選區產生的鋸齒問題
原因:反復的扮讓填充(包括塗畫、拉漸變等等)導致原本用於平滑的邊緣半透明像素疊加,越來越不透明產生實體鋸齒。
解決:(首先,將可能需要反復填充的區域弄在獨立的層)
1. 填充一次後,立即鎖定圖層的透明區域。這樣你再怎麼填充,邊緣都不會變實。
2. 純色改用shift 填充。填充前景色或者背景色的時候,按住shift ,就會保留透明像素。
3. 用不透明區域建立蒙版(ctrl+[縮略圖]選中圖層不透明區域,然後點擊[圖層面板]下面的添加蒙版按鈕);
或者使用下一圖層(這個圖層只填充一次,僅用以定義外形)做剪貼蒙版。由於蒙版不再改動,所以透明區域也不會變化,邊緣半透明自然也不會有問題。
三、魔棒/磁性套索 等選擇工具選出的區域有鋸齒
原因:由於圖片壓縮等等原因產生的鋸齒(jpg圖片常見的矩形色塊),或其他原因導致的軟體區分/吸附不準確。
解決:最好別折騰質量差的圖片,或用[路徑工具]給這種圖片作選區。偷懶一點的辦法,可以在選擇完畢後用 ctrl+d[羽化]一點選區。具體羽化量參考實際用途及鋸齒程度。還可以用[調整邊緣]控制面板調整選區後再作運用。
另外也可以用圖層謹前蒙版來處理這類對象的邊緣(當然只是一個補救措施),具體:
ctrl+[縮略圖]選中圖層不透明區域,然後點擊[圖層面板]下面的添加蒙版按鈕生成蒙版。按住alt鍵點擊蒙版(可以直接看到蒙版);然後用[濾鏡]-[模糊]-[高斯模糊]來處理蒙版,使得邊緣鋸齒消除。然後再用
ctrl+m 打開曲線工具,拉大對比,把模糊的地段區分開來。 注意拉得太直又會有鋸齒了-_-|||
四、銳化過度產生的局部鋸齒
解決:
1. 歷史紀錄畫筆。
歷史紀錄畫筆是個好東西,把還原點設定在銳化前,然後使用恰當的設定(筆刷的硬度不透明度等等),不透明度最好不要設定太祥缺清高。我們可以根據情況多塗或者少塗兩遍。讓銳化前後的圖象「綜合」一下。
2. 塗抹,模糊工具。具體就不多講了。
3. 漸隱濾鏡效果(ctrl+shift+f
,也稱「消退」)。單步濾鏡產生的效果都可以用消退,令使用後和使用前的效果混合。我們可以用它減弱效果,或者快速完成一些特殊的用途。這個東西放在這里只是順帶提一下,用得多了會發現這個命令很有用。
五、[圖層樣式]-[描邊]後感覺描邊有鋸齒
原因:[描邊]樣式對半透明像素反應比較明顯~ (所以我們也常用[描邊]樣式檢查是否存在看不見的游離像素)。
解決:
1. 如果是個純色對象,直接銳化即可讓邊緣毛刺得到改善;如果是有內容的,為了不銳化到圖像本身,只銳化形狀邊緣,可以如下操作。ctrl+[縮略圖]選中圖層不透明區域,再[收縮選區]1像素,然後再[反選],最後[菜單]-[濾鏡]-[銳化]-[銳化]。
2. 如上處理之後,還有不平整。就使出終極大法,硬[橡皮擦]!用硬度100%的[橡皮擦](畫筆模式)小心的擦除多餘的部分。
六、矢量形狀 [圖層樣式]-[描邊]後感覺描邊虛化(主要是橫/豎線)
原因:矢量對象的路徑節點,坐標比像素要精確,精確到小數點後具體幾位記不清楚了。所以可能不會落在整數點上。比如說一條水平線,兩個節點的y=3.56
這樣它就是不清晰的,當然描邊也會模糊掉。
解決:如果你始終在100%的縮放倍數下繪制矢量形狀,你完全不會碰到這個問題。在100%下你的節點必然落在整數位置上。
如果放大到200%繪制,你的節點有可能坐標就是 x=2.5,y=3.0 這樣。300%下 就是x=45.33,y=5.66 這樣。
如果你隨便拉動導航器下面的縮放,比如說52.3%,那就更難落到整數位置上了。
所以可行的解決方案就是在 類似100%、50%
(必然落在2的倍數上)、25%這樣的放大倍數下繪制。或者在200%,400%這類的大小下繪制後,用鍵盤方向鍵移動位置不對的節點幾次來到達整數位。
七、壓縮圖片調亮暗部後出現塊狀等無必要細節(鋸齒)
原因:還是壓縮演算法的問題,把一些層次不明顯的東西塊狀化了。一調曲線,就變得非常明顯。
解決:
1. 用20%-30%的軟邊緣圖章反復壓蓋。這也是一些影樓常用的磨皮方法,可以去掉不必要的細節。具體不再贅述
2. 用修補工具。也不贅述,屬於修圖的范疇
3. 用模糊工具或者選擇後用模糊濾鏡 等
ctrl+t補充:放大邊緣模糊的問題。可以ctrl+[縮略圖]選中圖層不透明區域,然後用[調整邊緣]控制面板調整後,再反選,刪除多餘部分。同理可以用不透明區域生成[蒙版]後,用[曲線]調整[蒙版]

❼ 用matlab如何去除波形毛刺,濾波

用matlab數值濾波去除波形毛刺的方法:
1)毛刺不是特別大,可是使用滑動平均窗濾波;
2)用cftool工具箱擬合數據;
3)用神經網路做個函數擬合。
matlab簡介:
MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和互動式環境,慧蘆御主要包括MATLAB和Simulink兩大部分。
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司發布的主要面對科學計嘩改算、可視化以及互動式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和模擬等諸多強大功能集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須前岩進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟體的先進水平。

❽  礦圖掃描圖像的凈化處理

所使用的試驗礦圖為某礦山1∶5000曬藍井上下對照圖,採用TH021桌面掃描儀按300dpi解析度掃描獲得灰度級為0~255的灰度圖像(如圖6-8所示)。由於掃描原圖圖面上存在污跡、曬藍不均勻,掃描儀照度不均勻及掃描過程中的響應誤差等因素的影響,使得掃描圖像上相同線劃具有不同的灰度,並且目標與背景之間具有灰度模糊性。為便於使用二值圖像形態學處理方法進行要素分割及矢量化轉換,必須對掃描圖像進行增強、二值化及濾波等凈化預處理。

圖6-8礦圖掃描灰度圖像(局部)

(1)圖像增強

圖像增睜基納強採用Laplacian邊緣增強演算法,以突出灰度突變區域:

工礦區環境動態監測與分析研究

式中,*為空間卷積運算元,g'(x,y)為像元(x,y)的輸出灰度,g(x,y)為原圖像對應像元的輸入灰度值,T為卷積核,且

(2)圖像二值化

為了有效地把制圖目標從背景中分離出來,我們採用一種多閾值動態自適應二值化方法進行圖像的二值化。該方法按四個步驟來完成:

①以狀態法對圖像進行初步二值化。從圖像灰度直方圖(圖6-9)上人工選擇t1,t1為對應於目標的直方圖上峰值區的肩部(曲率變化點處),從而得到初步二值圖像X1

工礦區環境動態監測與分析研究

圖6-9多閾值動態自適應二值化閾值選擇

由於t1值悉沒較小,故可能把許多本是目標的像元劃作背景,導致圖像x1上線劃目標不連續。

②以動態閾值法依據像元及其鄰域特徵進行二值化。由於在掃描數字圖像上,目標線劃的灰度值總是大於背景的灰度值(鄰域灰度變化特徵),可根據像元的位置分別採用不同的閾值再次二值化。每個像元的分割閾值由對其3×3鄰域像元灰度值的統計結果確定:

工礦區環境動態監測與分析研究

工礦區環境動態監測與分析研究

工礦區環境動態監測與分析研究

以上式中N為圖像的總像元數;a是採用的常數,視原圖的質量確定,0<a<1,當原圖質量較好時,a取較小的值,否則,a取較大的值。利用T1進行分割,又可得到一個二值圖像X2

工礦區環境動態監測與分析研究

在X2中,有效地把目標和背景灰度突變部分提取出來,從而兩個相距很近的目標不會粘連,但背景中灰度變化部分也被誤分為目標。

③再次以狀態法對圖像進行二值化。此時所選t2為圖像灰度直方圖上對應背景區峰值的「肩部」(圖6-8),得到第三幅二值化結果X3

工礦區環境動態監測與分析研究

由於t2值所選過大,故而把本應是背景的像元也分割到目標中。

④對所獲三幅二值圖像進行圖像集合運算,求得最終二值化結果。

工礦區環境動態監測與分析研究

集合運算結果仍是二值圖像(圖6-10)。這種多閾值動態自適應二值化充分考慮了圖像整體灰度水平及像元自身的鄰域特徵。從圖6-10中可見,目標完全從背景中分離出來,且目標線劃間沒有粘連也沒有斷線現象。

圖6-10礦圖掃描圖像二值化結果

(3)二值礦圖圖像形態濾波

受掃描原圖臟污、老化或復制質量等原因的影響,礦圖掃描圖像在二值化後,仍存在著斑點、小空洞、邊緣毛刺、邊緣凹陷等「雜訊」。這些雜訊會影響圖像的目標識別、矢量化等後續處理,必須從二值圖像中去除。去除方法是利用形態濾波。

設二值化圖像為X,則圖像上的斑點和邊緣毛刺可用下面的形態變換消除:

工礦區環境動態監測與分析研究

該式為序貫形態變換模型。式中λ1為圖像中斑點或毛刺的最大長度(像元數),Ki是所使用的結構元素,Ki的構型為:

工礦區環境動態監測與分析研究

其中「*」為取「1」或「0」皆可,①是結構元素的原點並取值「1」。

目標中的空洞以及鋒缺邊緣凹陷可用下式演算法進行充填彌補:

工礦區環境動態監測與分析研究

式中:λ2為空洞或邊緣凹陷的尺度,Ki與式(6-15)相同。它是把去斑點及毛刺的結果帶入再進行相應的形態變換。其結果圖像X〞就是一個純凈的二值圖像,並可作進一步的處理。圖6-11為圖6-9所示的二值圖像的去雜訊結果。從圖中可見,所有雜訊已被去除。

圖6-11礦圖圖像的形態濾波結果

熱點內容
編程大冒險 發布:2024-05-20 03:19:27 瀏覽:636
阿瓦隆九個人怎麼配置 發布:2024-05-20 02:57:47 瀏覽:757
sqlnotinexcept 發布:2024-05-20 02:53:10 瀏覽:341
激光切割編程教程難嗎 發布:2024-05-20 02:49:57 瀏覽:925
sqlbool 發布:2024-05-20 02:49:57 瀏覽:721
如何把文件壓縮到最小 發布:2024-05-20 02:25:03 瀏覽:452
javash腳本文件 發布:2024-05-20 01:43:11 瀏覽:830
安卓手機如何登陸刺激戰場國際服 發布:2024-05-20 01:29:02 瀏覽:861
伺服器核庫怎麼找 發布:2024-05-20 01:28:14 瀏覽:375
鹽存儲水分 發布:2024-05-20 01:09:03 瀏覽:810