999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV的圖像信息處理系統的開發與應用

2023-04-29 00:00:00李珍?劉曉星?安百鋼
信息系統工程 2023年4期

摘要:本論文工作針對移動床內顆粒物料卸料特性的CCD攝像圖片,開發了基于OpenCV的圖像識別處理程序和顆粒追蹤測速程序,以刻畫移動床卸料過程中的流型演化和顆粒運動信息。為檢驗程序的準確性,以離散單元法數值模擬得到的顆粒圖像為對象,對比了所開發圖像后處理程序分析結果與離散單元法數值模擬數據,發現兩者能定量吻合。

關鍵詞:OpenCV;圖像識別;信息處理;顆粒流

一、前言

本研究工作的研究目的之一是基于CCD高速攝像技術來研究移動床卸料過程中床層內顆粒物料的流動特征,進而得到流動區輪廓以及顆粒速度隨時間的變化。針對這一研究目的,開發了圖片后處理程序來對圖片進行處理,以得到相關顆粒運動信息。程序開發引用了OpenCV視覺庫里的API,基于粒子圖像測速法(PIV)的思想,監測流場內所有顆粒的瞬時運動狀態,使用最近鄰法算法來匹配批量圖像上的同一個顆粒,實現對移動床內顆粒物料的宏觀流動區的演化以及微觀單個顆粒的運動狀態的監測。為此編寫了兩套程序,一為流動區識別程序,二為顆粒識別追蹤測速程序。

二、實驗裝置

本論文工作所開展實驗的主要目的是探究移動床厚度對床層內顆粒卸料行為包括流動區輪廓、顆粒速度分布等參數的影響。參考文獻中所報道的移動床實驗裝置,結合工業項目需求,搭建了移動床,安裝了CCD高速攝像儀、LED燈、電腦等圖像拍攝和記錄裝備,用于研究顆粒物料卸料過程。實驗中通過CCD高速攝像儀拍攝一系列不同卸料時刻床層物料照片,然后用自主開發的流動區識別程序以及顆粒追蹤測速程序來處理這些照片,監測提取卸料過程中床層物料內流動區輪廓的變化以及單個顆粒的運動狀態等信息,以探究床層厚度對顆粒物料卸料特性的影響。

設計搭建的移動床卸料實驗平臺如圖1所示。移動床裝置被固定在鋁合金支架上,移動床壁面的材質是亞克力板,鋁合金支架下方預留自由空間以接取卸料后的顆粒。高速攝像儀鏡頭用的是尼康AF Nikkor 50mm f/1.4D,最高幀頻可達每秒120000幀,燈源為Godox的LED308,電腦是聯想品牌電腦,操作系統使用的是Windows10操作系統。

三、程序開發

(一)流動區識別程序

所編寫的流動區識別程序實現邏輯如下:用CCD高速攝像儀拍攝的移動床卸料的原始圖片為灰度圖像,顏色值為單通道,在0到255之間。imread讀取相鄰的兩張圖片,灰度值做差之后result_img得到新的灰度圖像[1]。如果前后兩張圖片上同一位置的灰度值相同,代表兩張圖片中該位置處顆粒未發生運動或者改變。由于兩張圖片同一位置處灰度值無差別,在生成的新圖片上,這個位置的灰度值相減變為0,用黑色表示,代表靜止區。如果前后兩張圖片上同一位置的灰度值不同,則代表該位置處顆粒發生改變或者產生運動。新生成圖片的灰度值為兩張圖片的灰度值之差,用非黑色,即不同顏色的灰色(1到255)表示,代表流動區。

因為預處理圖片較為模糊,且有噪聲,所以采用threshold調節閾值,使圖片變為黑白圖像。實際操作中選定一個閾值,灰度值大于這一閾值時,顏色值設置為1,是白色,反之為0,即黑色。經過測試,閾值為33時,流動區整體輪廓最為清晰。選取前后兩張顏色值做差的圖片的時間間隔也很重要。如果時間間隔取得比較密,例如0.01s,最終流動區與后文分析的速度場相匹配,可以看到最明顯的速度波現象;如果時間間隔取得稍微大一些,例如0.05s,則看不到速度波現象,而是整體輪廓最為清晰的流動區。獲得流動區之后,為進一步監測統計流動區的具體演化,需要對流動區的輪廓進行提取。

圖2是提取顆粒流動區整體輪廓的示意圖。獲得流動區輪廓坐標的程序實現方法如下:首先調用OpenCV的庫函數morphologyEx,對圖2中左圖的流動區做開運算處理,使得流動區內部的空隙以及孔洞完全被填充,成為一個整體,進而得到如圖2中間圖片所示的白色區域。形態學運算中有腐蝕,膨脹,開運算和閉運算幾種常見的方法,其中腐蝕方法可以抹除輪廓邊界像素點,消除毛邊,毛刺,以及一些無意義的擾動點。對輪廓邊界使用腐蝕,會使得輪廓邊界減小,向內收縮。膨脹方法是將輪廓所臨近相接的所有像素點吸收到該輪廓里,使得輪廓邊界向外延展。它可以使得輪廓邊界內部的孔洞斑點得以填充。將這兩種方法結合,可以先使用腐蝕后使用膨脹,稱為開運算,它的功能是去掉離散的小斑點、分開接近的兩個斑點、消除大輪廓邊界的毛糙點并且盡可能保證輪廓面積不變。先使用膨脹后使用腐蝕,稱為閉運算,它的功能是去掉大輪廓內部的小斑點、連接靠近的幾個斑點、消除大輪廓邊界的毛糙點并且盡可能保證輪廓面積不變[2]。本論文工作采用開運算策略。得到圖2中的中間圖片后,調用OpenCV的庫函數findContours,對該圖片中的白色區域進行輪廓識別,可以得到大致的輪廓坐標信息,如圖2中右圖的紅色閉合曲線。

得到流動區輪廓坐標后,可以進一步對流動區的一些幾何信息進行提取,來具體描述流動區的演化。圖3是提取流動區寬度、高度等信息的示意圖。獲得自由表面高度h、流動區高度H、流動區寬度W、特征區寬度W(1/2h)的程序實現思路如下:遍歷輪廓縱坐標,當輪廓縱坐標Y1最小時,得到此時的橫坐標X,即為卸料口的橫坐標,接著尋找橫坐標為X時,縱坐標的最大值Y2,Y2減去Y1得到H。因為流動區從卸料口處發展至顆粒初始堆積高度(自由表面處)時流動區高度會有一個先增高的變化,之后隨著自由表面高度的降低而降低,所以自由表面高度h的變化是流動區高度H發展到顆粒初始堆積高度后開始降低的部分。得到流動區高度后,從卸料口位置往上檢索縱坐標相同的輪廓坐標,它們的橫坐標相減即可得到流動區的寬度W,當輪廓縱坐標的值為h的一半時,可得到特征區寬度W(1/2h)。

流動區輪廓信息提取的關鍵代碼如下:

for (int j = 0; j lt; contours[row].size(); j++)

{

if (contours[row][j].y gt; maxY)

{

maxY = contours[row][j].y;

X = contours[row][j].x;

}

}

cout lt;lt; \"x = \" lt;lt; X" lt;lt; endl;

for (int j = 0; j lt; contours[row].size(); j++)

{

if (X == contours[row][j].x amp;amp; contours[row][j].y lt; minY)

minY = contours[row][j].y;

}

h = maxY - minY;

W = 0.5*h + minY;

獲得流動區寬度、高度等的信息后,有一個拐點值得注意,就是靜止區與移動床邊壁交界的最高點,即有效轉捩點(ETP)。ETP點的高度會隨著卸料的進行發生改變。根據流動區輪廓坐標提取獲得ETP點信息的邏輯:確定流動區輪廓的最大寬度widthMAX,遍歷不同縱坐標下的流動區寬度W,當W等于widthMAX時,并且此時的縱坐標最小,縱坐標的高度即為ETP點的位置,ETP點是靜止區與床層交界處的最高點的位置。

從而得到ETP點的位置隨自由表面高度h的變化曲線,曲線的變化趨勢分為三個階段:(1)當自由表面的高度隨著卸料的進行從最高處開始降低,有效轉捩點縱坐標位置y處于相對平穩期,在某一值附近波動,對坐標y進行累計平均得到ETP點;(2)一段時間后卸料流型由半整體流型轉捩為漏斗流,有效轉捩點縱坐標y開始急劇增大,此處即為流型轉捩點,此時靜止區的最高點會到達自由表面;(3)ETP點到達自由表面之后,此時它的高度與流動區整體高度一致,它的縱坐標y隨著自由表面高度h的降低而降低,直至卸料完成。至此,流動區識別程序可以得到宏觀流動區演化過程中的大部分運動信息。

(二)顆粒識別程序和顆粒追蹤測速程序

通過流動區識別程序監測得到宏觀流動區的演化信息后,為更清晰地了解卸料過程中顆粒的運動特性,進一步對微觀單個顆粒進行識別、追蹤匹配、測速等。要追蹤單個顆粒的軌跡,首先要對單個顆粒輪廓進行識別。

顆粒質心識別程序的實現操作如下[3]:首先基于for循環,imread讀入批量的數字圖片,再將每張圖片進行cvtColor灰度化處理以減少運算量,然后通過GaussianBlur高斯模糊減少噪聲,再進行morphologyEx形態學處理[4],通過腐蝕膨脹減少毛刺,填充球形內部的黑洞,使球體進一步接近球形;之后進行threshold自適應閾值化操作,選取合適的閾值進一步突出顆粒的外邊界輪廓;最后對顆粒的輪廓和邊界進行識別,使用findContours,得到顆粒的坐標信息[5]。

顆粒質心信息提取的關鍵代碼如下:

for (int t = 0; t lt; contours.size(); t++)

{

mu[t] = moments(contours[t], 1);

if (mu[t].m00 == 0)

{

mc[t] = Point2f(0, 0);

}

else {

mc[t] = Point2f(mu[t].m10 / mu[t].m00, mu[t].m01 / mu[t].m00);

}

cout lt;lt; \"x: \" lt;lt; mc[t].x lt;lt; \"" \" lt;lt; \"y: \" lt;lt; mc[t].y lt;lt; endl;

drawContours(src, contours, t, Scalar(0, 0, 255), 2, 8);

}

顆粒質心識別程序識別顆粒整體輪廓的效果如圖4所示,除了極個別的顆粒無法識別,99.9%以上的顆粒都可以被識別,表明程序整體識別性能優良,可為后續具體的移動床卸料實驗的圖像處理提供優秀的技術支持。

同時,當CCD高速攝像儀的攝像頭需要拍攝的顆粒數目較多,分辨率不夠,拍攝得到的顆粒輪廓較為模糊時,可以通過識別單個顆粒表面反射的光斑來確定顆粒的坐標[6]。識別顆粒光斑確定顆粒坐標,統計得到程序準確率高達99.9%,這兩種識別方法可根據實驗不同需求進行選擇。

識別單個顆粒,得到顆粒的坐標信息之后,對批量圖片上處于不同位置處的同一個顆粒進行匹配、測速,得到顆粒的運動軌跡和速度信息[7]。顆粒追蹤測速程序的算法邏輯如下:輸入之前程序處理得到的顆粒質心坐標,選取第tn時刻的第i個顆粒的坐標與第tn+1時刻該位置附近的顆粒坐標進行比較,如果兩者之間的距離小于顆粒的半徑,則說明是同一個顆粒。這是因為選取的兩個時刻的間隔非常短,顆粒的位移不超過顆粒的半徑,這也是最近鄰法的思路。CCD高速攝像儀可以輔助高速拍攝,滿足實驗的需求。完成第tn時刻的所有顆粒的匹配,輸出結果,將已匹配顆粒之間的移動距離除以兩張圖片的時間間隔可獲得該顆粒的移動速度。自此,實驗中比較重要的顆粒運動信息都可以通過程序對圖片進行后處理提取得到[8]。

四、程序處理結果精度驗證

為驗證編寫的顆粒識別程序和顆粒追蹤測速程序的準確性,使用編寫的程序對離散單元法數值模擬得到的顆粒可視化批量圖像進行信息處理。之所以采用該策略是因為離散單元法數值模擬中不同時刻每個顆粒的信息都是已知的,因此,用自主編寫的程序識別批量模擬圖片得到的顆粒信息,與數值模擬監測得到的顆粒信息進行對比,如若二者的誤差較小,即可證明編寫的圖像后處理程序精確度較高,可用于顆粒流的卸料實驗研究。

首先對比分析模擬得到的顆粒坐標和程序處理相同實驗條件下模擬照片得到的顆粒坐標信息,發現二者的坐標位置重合度較高,顆粒坐標的識別準確度高達100%,但是二者的顆粒坐標位置有細微差別,出現的誤差在可接受范圍之內[9],證明顆粒識別程序準確度比較高,可為后續的顆粒追蹤測速程序進行高質量服務。

識別顆粒坐標之后,需要對單個顆粒進行匹配測速,得到不同高度位置處的顆粒速度分布曲線,從而監測顆粒的運動軌跡和運動信息的連續變化[10]。圖5為顆粒追蹤測速程序處理批量模擬圖片得到的速度分布和離散單元法數值模擬得到的速度分布,兩條速度分布曲線基本重合,統計得到,顆粒追蹤測速程序的準確度大于99.9%,表明顆粒追蹤測速程序準確性良好,可以為后續更加深入的實驗研究提供較好的數值統計分析服務。

五、結語

本文詳述了對CCD攝像得到的大批量圖像進行數值處理的算法思想和程序實現策略,基于OpenCV開發了圖像識別程序和顆粒追蹤測速程序,并對所開發后處理程序顆粒識別功能的準確性和識別精度進行了檢驗。驗證結果表明所開發的圖像后處理程序能夠精確地對移動床卸料過程中運動狀態隨時間變化的顆粒進行識別和追蹤,從而為接下來具體移動床卸料實驗的數值分析奠定了扎實的基礎。本文的工作對顆粒流的數值處理技術具有一定的指導意義,并在顆粒物料相關的工業應用中具有廣闊前景。

參考文獻

[1]曹建海,路長厚.基于灰度圖像和矢量的圓心定位[J].光電子·激光,2004(06):714-718.

[2]李冬冬,胡浩然,肖明,王小毛.基于PFC-FLAC離散-連續耦合的隧洞開挖與錨桿支護顆粒流模型[J/OL].武漢大學學報(工學版):1-9[2023-03-27].http://kns.cnki.net/kcms/detail/42.1675.T.20230215.1743.009.html

[3]鐘華勇,葉建生,何高清.基于OpenCV的圓心坐標定位的優化設計[J].制造技術與機床,2021(05):110-115.

[4]肖劍雄峰,趙漢理,吳承文.局部對比度增強的彩色圖像灰度化參數化算法[J].計算機時代,2016(03):45-49.

[5]趙飛翔,遲世春.基于離散元的碎片尺寸隨機的顆粒破碎模擬方法[J].東北大學學報(自然科學版),2023,44(03):408-414.

[6]Na Zhao,Fang Zhao,Wen-Zhen Zhong. EDEM Simulation Study of Lignite Pressing Molding with Different Particle Size[P]. Proceedings of the 2015 4th International Conference on Computer, Mechatronics, Control and Electronic Engineering,2015.

[7]Feng Wenyu,Han Yanlong,Chen Peiyu,Li Anqi,Wang Yinglong,Zhang Jincheng,Fei Jiaming,Hao Xianzhi,Shen Shaohang,Jia Fuguo. Effect of eccentricity on the particle flow characteristics in a double-orifice silo[J]. Powder Technology,2023,421.

[8]Wei Wei,Ding Lieyun,Luo Hanbin,Li Chen,Li Guowei. Automated bughole detection and quality performance assessment of concrete using image processing and deep convolutional neural networks[J]. Construction and Building Materials,2021,281.

[9]Sakamaki Shouta,Krengel Dominik,Mueller Jan,Chen Jian,Matuttis Hans Georg. Implementation of numerically exact Coulomb friction for discrete element simulations in three dimensions[J]. EPJ Web of Conferences,2021,249.

[10]Laurent Babout,Krzysztof Grudzien,Eric Maire,Philip J. Withers. Influence of wall roughness and packing density on stagnant zone formation during funnel flow discharge from a silo: An X-ray imaging study[J]. Chemical Engineering Science,2013,97.

作者單位:李珍,遼寧科技大學化學工程學院、中國科學院過程工程研究所多相復雜系統國家重點實驗室;劉曉星,中國科學院過程工程研究所多相復雜系統國家重點實驗室、中國科學院大學化學工程學院;安百鋼,遼寧科技大學化學工程學院

主站蜘蛛池模板: 日韩欧美国产综合| 久久特级毛片| 国产精品久久久久久久久| av在线5g无码天天| 人妻中文字幕无码久久一区| 国内熟女少妇一线天| 美女无遮挡被啪啪到高潮免费| 亚洲高清国产拍精品26u| 暴力调教一区二区三区| 亚洲国产无码有码| 亚洲欧洲日韩综合色天使| 中国国产A一级毛片| www.av男人.com| 午夜性刺激在线观看免费| 亚洲av无码专区久久蜜芽| 天天躁夜夜躁狠狠躁图片| 午夜福利视频一区| 国产成人h在线观看网站站| 欧美黄网在线| 国产黄在线免费观看| 中文天堂在线视频| 国产精品美女在线| 原味小视频在线www国产| 精品国产女同疯狂摩擦2| 一本大道香蕉久中文在线播放| 国产综合亚洲欧洲区精品无码| 亚洲欧美国产高清va在线播放| 91po国产在线精品免费观看| 亚洲天堂成人在线观看| 亚洲中字无码AV电影在线观看| 性色一区| 99热最新网址| 97久久精品人人做人人爽| 国产小视频a在线观看| 99在线视频免费| 成人免费网站在线观看| 中国美女**毛片录像在线 | 午夜精品久久久久久久无码软件 | 国产精品视频999| 美女免费黄网站| 精品国产三级在线观看| 日韩av高清无码一区二区三区| 久精品色妇丰满人妻| 国产一区二区三区在线观看视频 | 69精品在线观看| 亚洲中文在线看视频一区| h网址在线观看| 亚洲国内精品自在自线官| 久久精品欧美一区二区| 国产欧美日韩18| 欧美日本视频在线观看| 久久久久夜色精品波多野结衣| 免费黄色国产视频| 欧美久久网| 亚洲91精品视频| 免费看的一级毛片| 中文字幕亚洲乱码熟女1区2区| 欧美午夜久久| 国产精品午夜电影| 奇米精品一区二区三区在线观看| 久久综合五月| 性视频久久| 亚洲永久色| 国产精鲁鲁网在线视频| 青青草一区二区免费精品| 色哟哟色院91精品网站| 97久久超碰极品视觉盛宴| 欧美专区日韩专区| 一级毛片在线播放| 久久久久人妻一区精品| 久热中文字幕在线| 日韩精品无码免费专网站| 99视频在线观看免费| 熟妇无码人妻| 91伊人国产| 欧美色亚洲| 免费人成网站在线观看欧美| 97国产成人无码精品久久久| 免费观看精品视频999| 免费不卡在线观看av| 精品人妻一区二区三区蜜桃AⅤ| 亚洲一区色|