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

化工仿真中圖像處理圖形學編程研究

2021-10-27 09:01:54
物聯(lián)網(wǎng)技術(shù) 2021年10期

何 杰

(北方民族大學 化學與化學工程學院,寧夏 銀川 750021)

0 引 言

OpenCV(Open Source Computer Vision Library)是一個廣受歡迎、開放源代碼的計算機視覺庫;可被用于開發(fā)實時圖像處理、計算機視覺及模式識別程序,目前在工業(yè)界及科研領(lǐng)域被廣泛采用。OpenCV其實就是一堆C和C++語言源代碼文件,其實現(xiàn)了許多常用計算機視覺算法??梢灾苯訉⑦@些源代碼添加到軟件項目中,而不需要自己再去寫代碼,重復(fù)“造輪子”,OpenCV的目標定位是成為實現(xiàn)工業(yè)生產(chǎn)流水線自動化的關(guān)鍵技術(shù)[1-2]。

利用OpenCV函數(shù)庫,可以較好實現(xiàn)各種格式圖片空間幾何、色彩、明暗等變換操作。梅鴻翔 提出了一種目標定位方法[3],利用了OpenCV中攝像機標定模塊。何小風將圖像識別用于靜電場描繪實驗[4],利用OpenCV中cvtColor(將彩色圖轉(zhuǎn)換成灰度圖)、Canny(得到二值圖)、morphologyEx(彌合各區(qū)域缺陷點,使其成為完整圓形)、findContours(獲得各點輪廓)等函數(shù)獲取學生所繪打點圖中所有電勢點坐標,計算得到各等勢圓半徑測量值,再計算出 等勢圓半徑理論、測量值相對偏差,從而評判學生實驗成績。 馬新明等在Visual C ++編譯環(huán)境下,采用MFC多文檔結(jié)構(gòu),借助OpenCV進行混合編程,開發(fā)了一個圖像處理系統(tǒng),并以冬小麥白粉病為例,利用該系統(tǒng)處理病害圖像信息,進而為快速診斷作物病害種類,為用戶提供輔助決策提供幫助,以降低作物病害影響[5]。趙浩杰等基于OpenCV函數(shù)庫,提出一種識別圖像中特定色彩目標的實現(xiàn)方法[6],即從視頻流中提取圖像幀,經(jīng)過色彩空間轉(zhuǎn)換(cvCvtColor)、特定形態(tài)學處理、設(shè)定閾值識別色彩、圖像二值化、輪廓查找、篩選(調(diào)用cvInRanges函數(shù)) 等處理實現(xiàn)色彩識別、選取。漸變圖是石油、地質(zhì)行業(yè)中一種常見二維網(wǎng)格數(shù)據(jù)成圖方式。郭佳采用圖像處理庫OpenCV,結(jié)合2D數(shù)據(jù)插值算法設(shè)計并實現(xiàn)了快速自動從漸變圖還原出原始網(wǎng)格數(shù)據(jù),能解決數(shù)據(jù)缺少或者獲取數(shù)據(jù)成本和難度問題[7]。李紅巖等基于OpenCV算法識別乒乓球、使用ARM平臺為主控,設(shè)計并實現(xiàn)了一種乒乓球機器人運動、收集、分類、避障等功能[8]。OpenCV也被廣泛應(yīng)用于車牌檢測和識別方面[9-10]。在本研究中,面向紋理貼圖應(yīng)用,探討了圖像處理圖形學編程技術(shù)。在Microsoft Visual C++編譯環(huán)境下,采用OpenCV混合編程,高效、便捷實現(xiàn)了圖像空間幾何變換。

1 理論基礎(chǔ)

1.1 仿射變換

圖像變換實質(zhì)是改變像素空間位置。常用幾何變換有剛體、仿射、投影和非線性變換等。幾何運算包含空間變換和灰度插值算法兩個獨立算法。仿射變換是一種2D坐標之間線性變換,保持2D圖形“平直性”(straightness,即變換后直線還是直線,圓弧還是圓?。┖汀捌叫行浴保╬arallelness,保持2D圖形間相對位置關(guān)系不變),可以通過一系列簡單變換的復(fù)合來實現(xiàn)包括平移(Translation)、縮放(Scale)、翻轉(zhuǎn)(Flip)、旋轉(zhuǎn)(Rotation)和剪切(Shear)等功能,可以用如下公式表示:

式中:tx,ty表示平移量;ai反映了圖像旋轉(zhuǎn)、縮放等變化。將tx,ty,ai(i=1~4)計算出,則可得到兩幅圖像坐標變換關(guān)系。

1.2 插值算法

對于比例縮放,有可能從原圖中找不到與目標圖相對應(yīng)像素點。解決方法之一是找它最臨近點,即利用鄰域像素值來估計新像素值。這就是一種插值算法。常用插值算法有最鄰近(Nearest Neighbour Interpolation)算法、線性(Linear Interpolation)算法、雙線性(Bilinear Intrepolation)算法、曲線插值(Curvilinear Interpolation)算法。最鄰近插值也被稱為零階插值,就是令變換后像素灰度值等于與它最相近輸入像素灰度值。當圖像中像素灰度級有細微變化時,該方法會在圖像中產(chǎn)生人工痕跡,如圖1所示。圖1中,縮小圖與原圖比較丟失了很多信息;將圖像放大,則需要對放大后多出來空格填入適當像素值。

圖1 圖像縮放最鄰近插值法應(yīng)用示意圖

線性插值是使用原圖中兩個值來構(gòu)造所求坐標值。例如,已知兩點x0,x2處函數(shù)值f(x0),f(x2),要求x1處值f(x1),假如它是線性函數(shù),利用幾何知識可知:

在圖像 處理中需要將線性插值擴展到二維情況,即采用雙線性插值,也稱其一階插值。該方法通常是沿圖像矩陣每一列(行)進行插值,然后對插值后所得矩陣再沿著行(列)方向進行線性插值。雙線性灰度插值平滑作用可能使圖像細節(jié)產(chǎn)生退化,這種現(xiàn)象在進行圖像放大時尤其明顯。圖像處理中還使用雙曲線插值及三次內(nèi)插法解決圖像縮放、旋轉(zhuǎn)灰度填充問題。當將圖像放大時,圖像像素灰度插值也可通過卷積來實現(xiàn)。

2 鏡 像

水平鏡像,即左右變換,其中橫坐標數(shù)值不變,縱坐標從大到小排列(原圖,從小到大);垂直鏡像,上下變換,縱坐標數(shù)值不變,橫坐標從大到小排列(原圖,從小到大)。可以將水平、垂直鏡像變換關(guān)系用矩陣形式表示為:

水平鏡像:

垂直鏡像:

通過函數(shù)flip也可以實現(xiàn)翻轉(zhuǎn),如下:

cv2.flip(src, flipCode, dst)

src -輸入圖像

dst -輸出圖像

flipCode -翻轉(zhuǎn)模式:

①flipCode=0垂直翻轉(zhuǎn)(沿x軸翻轉(zhuǎn))

②flipCode>0水平翻轉(zhuǎn)(沿y軸翻轉(zhuǎn))

③flipCode<0水平垂直翻轉(zhuǎn)(先沿x軸,再沿y軸翻轉(zhuǎn),等價于旋轉(zhuǎn)180°)

圖2展示了鏡像變換機理、程序核心代碼及效果圖。圖中:create()被用來創(chuàng)建圖像矩陣體;remap()表達每個像素位置(x,y);核心鏡像變換代碼被包含在內(nèi)外for循環(huán)里。

圖2 鏡像變換核心代碼及效果圖

3 平 移

平移(TranslationTransformation)是一種剛體變換(rigid-body transformation),不會產(chǎn)生形變。例如某像素由點(x0,y0)被移至(x1,y1),位置灰度不變。兩點之間關(guān)系為x1=x0+tx,y1=y0+ty,以矩陣形式表示為:

在此更關(guān)心其逆變換,x0=x1-tx,y0=y1-ty,因為需要知道平移后圖像每個像素顏色。

如將平移后圖像點(0,0)代入公式x0=x1-tx,y0=y1-ty,得到x0=-tx;y0=-ty。新圖中點(0,0)顏色和原圖中點(-tx,-ty)顏色一樣,g(0, 0)=f(-tx, -ty)。

如圖3所示,平移后,一種做法是不將圖像放大,而移出部分被截斷,文件大小不變;另一種是將圖像放大,顯示所有部分。設(shè)原圖寬、高分別是w1,h1,則新圖寬、高變?yōu)閣1+|tx|和h1+|ty|。OpenCV中imageTranslation()被用來方便地實現(xiàn)圖像平移操作。

圖3 平移變換核心代碼及效果圖

4 縮 放

縮放(Resize)倍數(shù)為fx與fy。當fx=fy時,稱其為全比例縮放。當fx≠fy時,圖像像素間相對位置會發(fā)生畸變??s放前后兩點關(guān)系用矩陣表示為:

其逆矩陣為:

如圖4所示,OpenCV中resize()被用來對圖形進行縮放變換,便捷、高效。

圖4 縮放變換核心代碼及效果圖

5 結(jié) 語

為將計算機圖形學編程 用于化工仿真、虛擬現(xiàn)實,使用C++結(jié)合OpenCV編寫了各種2D圖像變換程序,得出結(jié)論:

(1)在Microsoft Visual Studio Enterprise 2019編譯環(huán)境下,采用C++結(jié)合OpenCV計算機視覺庫混合編程,高效、便捷地實現(xiàn)了圖像平移、鏡像、縮放變換?;贠penCV函數(shù)庫,大大簡化了其實現(xiàn)過程,易于快速編程實現(xiàn)且效果較好。

(2)紋理映射可以賦予化工設(shè)備、管道、框架、廠房、場景等真實感,運用圖形學編程對各種格式圖形文件進行靈活變換有利于更好地應(yīng)用紋理映射。

主站蜘蛛池模板: 欧美精品亚洲精品日韩专区va| 欧美国产日韩在线| 日本免费高清一区| 国产波多野结衣中文在线播放| 欧美日韩午夜| 国产波多野结衣中文在线播放| 日本免费福利视频| 久久婷婷国产综合尤物精品| 久久综合伊人77777| 精品福利视频导航| 亚洲综合第一区| 国产SUV精品一区二区| 国产黑丝视频在线观看| 91小视频在线| 天堂网亚洲系列亚洲系列| 波多野结衣无码视频在线观看| 欧美午夜视频| 日韩一区二区在线电影| 久爱午夜精品免费视频| 尤物亚洲最大AV无码网站| a级毛片在线免费观看| 国产一区二区在线视频观看| 91免费片| 日本一区二区不卡视频| 国产又粗又猛又爽视频| 国产91线观看| 伊人久久久久久久久久| 在线欧美a| 久久黄色影院| 伊在人亞洲香蕉精品區| 鲁鲁鲁爽爽爽在线视频观看| 国产乱子伦精品视频| 精品久久久久久成人AV| 日本国产精品| 久久精品娱乐亚洲领先| 九九精品在线观看| 亚洲AⅤ波多系列中文字幕| 亚洲午夜福利精品无码| 国产区人妖精品人妖精品视频| 国产成人精品无码一区二 | 久久综合结合久久狠狠狠97色| 在线亚洲精品自拍| 精品久久香蕉国产线看观看gif| 亚洲v日韩v欧美在线观看| 久久久久青草大香线综合精品| 这里只有精品免费视频| 国产欧美精品午夜在线播放| 在线日本国产成人免费的| 午夜人性色福利无码视频在线观看| 国产高清无码麻豆精品| 欧美亚洲综合免费精品高清在线观看| 色偷偷一区二区三区| 欧美综合中文字幕久久| 国产91熟女高潮一区二区| 国产一级无码不卡视频| 在线中文字幕日韩| 亚洲香蕉久久| 国国产a国产片免费麻豆| 久久久黄色片| 亚洲一欧洲中文字幕在线| 精品久久777| 免费av一区二区三区在线| 色婷婷综合在线| 日韩a级毛片| 亚欧成人无码AV在线播放| 日本www在线视频| 国产h视频免费观看| 国产精品国产三级国产专业不| 男女男免费视频网站国产| 欧美精品xx| 久久精品无码一区二区国产区| 亚洲国产成人在线| 亚洲大尺码专区影院| 久久semm亚洲国产| 蜜桃视频一区二区| 高潮毛片无遮挡高清视频播放| 99精品高清在线播放| 亚洲黄色视频在线观看一区| 亚洲三级成人| 国产亚洲欧美在线人成aaaa| 91麻豆精品国产高清在线| 亚洲AV无码乱码在线观看裸奔|