亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        化工仿真中圖像翻轉(zhuǎn)變換圖形學編程研究

        2021-09-10 20:38:02何杰王大立袁紅姜國平
        無線互聯(lián)科技 2021年6期
        關(guān)鍵詞:鏡像虛擬現(xiàn)實

        何杰 王大立 袁紅 姜國平

        摘 要:OpenGL和OpenCV特有開源庫函數(shù)被用于圖像變換,顯示了高效、便捷性。文章面向紋理貼圖應(yīng)用,對位圖文件結(jié)構(gòu)進行了詳盡解析;依據(jù)圖像顏色點陣數(shù)據(jù),用C++結(jié)合OpenCV編寫了位圖鏡像變換程序。通過調(diào)用OpenCV庫函數(shù),所編鏡像變換程序代碼更簡單,功能更完備,不僅可被用于處理*.bmp格式圖片,還能被用于處理*.jpg, *.png, *.webp, *.pbm, *.pgm, *.sr, *.ras, *.tiff, *.tif等格式圖片。基于OpenCV函數(shù)庫,易于快速編程實現(xiàn)各種圖像變換且效果較好,為進一步應(yīng)用研究打下了基礎(chǔ)。

        關(guān)鍵詞:圖形學編程;鏡像;像素讀寫;位圖;OpenCV;化工仿真;虛擬現(xiàn)實

        0? ? 引言

        實際物體表面有豐富紋理,要繪制逼真的3D物體,除光照處理外,還要給其表面附上紋理特征,用到“紋理貼圖”技術(shù)[1-2]。OpenGL(Open Graphics Library)是被用于渲染2D、3D矢量圖形、跨語言、跨平臺的應(yīng)用程序編程接口,常被用于CAD、虛擬現(xiàn)實、科學可視化程序和電游開發(fā)。其關(guān)聯(lián)軟件有很好的移植性。簡單說,OpenGL與硬件無關(guān),獨立于操作系統(tǒng),支持網(wǎng)絡(luò)運行。OpenCV(Open Source Computer Vision Library)廣受歡迎,源代碼開放,可被用于開發(fā)實時圖像處理、計算機視覺及模式識別程序,在工業(yè)界及科研領(lǐng)域被廣泛采用。OpenGL提供了位圖操作函數(shù)。利用其紋理映射功能可以十分逼真地表達物體表面細節(jié)[3-5]。利用OpenCV函數(shù)庫,可以較好地實現(xiàn)各種格式圖片空間幾何、色彩、明暗等變換操作[6]。

        尹航等[7]討論了在VS2005環(huán)境下借助OpenGL和第三方庫CxImage(圖像操作類庫),利用PNG圖片進行紋理映射。袁亮等[1]為了實現(xiàn)二次曲面紋理映射,在分析OpenGL紋理映射技術(shù)的基礎(chǔ)上,詳細討論了球形曲面紋理坐標生成和設(shè)置;然后,利用OpenGL函數(shù)庫,在VC++環(huán)境下,實現(xiàn)了雷達天線罩迷彩紋理貼圖。薛兆井? ?等[3]研究了基于OpenGL讀取bmp圖像實現(xiàn)紋理映射的一種新方法。韓姣[8]探討了在VC++環(huán)境下bmp與gif圖像文件格式轉(zhuǎn)換,編程實現(xiàn)了bmp圖像讀取、顯示和保存等相關(guān)操作。文章面向紋理貼圖應(yīng)用,探討了圖像鏡像變換圖形學編程技術(shù)。

        1? ? Bitmap-file解析

        用WinHex查看一24-bit Bitmap file(圖1),知它每行? ?420 pixels(width)×3 Bytes/pixel=1 260 Bytes,能被4整除,不用進行補位。對此圖變換無須考慮這些無效或冗余填充數(shù)據(jù)。本Bitmap file總大小為420 pixels(寬)*534 pixels(高)*3 Bytes/pixel+14 Bytes(size of bitmap-file header)+? ? 40 Bytes(size of bitmap-information header)+2(Photoshop圖像整體補位) =672 896 Bytes,或672 896 Bytes/1 024 Bytes/KB≈657 KB。圖像大小為672 837/3+1 =224 280 pixels=? ? ? ? 420 pixels(寬)*534 pixels(高)。

        2? ? 位圖鏡像變換機理與編程實現(xiàn)

        如圖2所示,其像素數(shù)據(jù)寫入順序統(tǒng)一為“左右下上”。區(qū)別是像素數(shù)據(jù)讀取次序,對于原圖輸出,其順序是“左右下上”,而對于鏡像變換,為“右左下上”?;蛘哒f,其逐行像素信息被左右對換了。按一定次序,程序首先提取源圖右下角單元格數(shù)據(jù),寫入鏡像圖左下角單元格內(nèi),以此類推。表達式“bmpImg->imageData[i * width * 3 + j * 3 + k] = pixVal;”引用了指針bmpImg指向的結(jié)構(gòu)體IMAGE成員imageData。

        3? ? OpenCV應(yīng)用實例

        應(yīng)用C++結(jié)合OpenCV混合編程(Win7_64-bit System,VS2019+OpenCV4.3.0)可以更方便地對圖片進行鏡像變換。其變換機制與程序注解如下:

        3.1? 讀取圖像

        Mat src = imread(“kneader.jpg”, CV_LOAD_IMAGE_UNCHANGED); Imread( )函數(shù)經(jīng)常與imshow(“src”, src); 配合使用??梢岳斫釳at為一個數(shù)據(jù)存儲容器,定義了一個src對象來存儲圖像數(shù)據(jù)。Mat類能夠自動管理內(nèi)存。

        3.2? 創(chuàng)建矩陣

        inline void Mat::create(Size _sz, int _type)Mat類是一個矩陣圖像類,由兩部分組成:矩陣頭,包含矩陣尺寸、存儲方法、存儲地址等信息,和一個指向存儲圖像中所有像素的矩陣體。例如,“cv::Mat dstImg;”僅創(chuàng)建了圖像矩陣信息頭部分,并未創(chuàng)建矩陣體。因此,cv::Mat::create( )函數(shù)作用就很清楚了,創(chuàng)建一個指定大小(Size),指定類型type(CV_8UC1, CV_16SC1, CV_32FC3)的圖像矩陣體。

        3.3? 鏡像生成

        for ( init; condition; increment ) {? statement(s); }鏡像生成主代碼被包含在C++ for循環(huán)內(nèi),如圖2所示。鏡像變換基本機制是,保持兩圖像素橫坐標值不變,縱坐標值次序發(fā)生順逆轉(zhuǎn)化。Mat類提供了一個at方法,SrcImage.at(i,j)訪問圖像第i行j列像素,SrcImage.at(i,j)[k]讀取彩圖第i行j列k通道顏色點數(shù)據(jù)。Vec3b是圖像像素值類型。

        3.4? 像素重映射

        remap(src, dst, map_x, map_y, CV_INTER_LINEAR); 圖像坐標映射關(guān)聯(lián)有兩種,一種是計算源圖任意像素在映射后圖像坐標位置,另一種是計算變換后圖像任意像素被反映射在源圖坐標位置。重映射就是把一圖中某位置像素“放置”到另一圖指定位置的過程。為了完成重映射有必要獲得一些插值作為非整數(shù)像素坐標,因為源圖、目標圖像素坐標非一一對應(yīng)。通過重映射來表達每個像素新位置g(x,y),滿足g(x,y)=f(h(x,y))。h(x,y)是作用于(x,y)的映射方法函數(shù)。最后,用imshow( )顯示圖像;用waitkey(0)使圖像顯示保持,而非一閃而過。

        4? ? 結(jié)語

        紋理映射能極大地提高虛擬物體真實感。為使化工仿真更真實,可以將實物圖用作紋理圖。在對bmp圖及其他格式圖像變換方面,本研究主要內(nèi)容、結(jié)論有:

        (1)用WinHex查閱了一例圖Bitmap-file,解析了Bitmap-file數(shù)據(jù)、結(jié)構(gòu)。明確了Bitmap像素點與Bitmap-file中像素點陣數(shù)據(jù)一一對應(yīng)關(guān)系?;趫D像顏色點陣數(shù)據(jù),用Visual Studio 2013中Visual C++結(jié)合OpenGL編寫了位圖鏡像生成程序;

        (2)基于位圖像素數(shù)據(jù)讀寫函數(shù)fread與fwrite,設(shè)計了特定像素數(shù)據(jù)讀寫順序,實現(xiàn)了位圖鏡像變換;

        (3)在Microsoft Visual C++編譯環(huán)境下,采用OpenCV計算機視覺庫混合編程,高效、便捷實現(xiàn)了圖像鏡像變換;

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

        [參考文獻]

        [1]袁亮,張兵,李廣強.OpenGL二次曲面紋理映射技術(shù)分析與應(yīng)用[J].空軍雷達學院學報,2009(5):376-378.

        [2]唐聰.基于OpenGL的三維場景可視化仿真[D].西安:西安電子科技大學,2013.

        [3]薛兆井,胡平平.基于OpenGL讀取bmp實現(xiàn)紋理映射的方法[J].軍民兩用技術(shù)與產(chǎn)品,2009(9):40-41.

        [4]趙方,張軍和,彭亞雄.基于OpenGL紋理映射反走樣技術(shù)的研究[J].電腦知識與技術(shù),2011(17):4160-4161,4164.

        [5]吳發(fā)輝,張玲,余文森.基于圖形學算法的紋理映射技術(shù)的研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2018(24):71-74.

        [6]趙浩杰,金德智,李彥杰.基于OpenCV的彩色目標識別[J].中國科技信息,2016(2):36-37.

        [7]尹航,李義杰,孫健超.基于OpenGL的PNG紋理映射的實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2009(7):182-185.

        [8]韓姣.基于VC++的BMP格式圖像與GIF格式圖像轉(zhuǎn)換 [J].武漢理工大學學報(信息與管理工程版),2007(12):23-25,30.

        (編輯 王雪芬)

        猜你喜歡
        鏡像虛擬現(xiàn)實
        鏡像
        當代黨員(2020年20期)2020-11-06 04:17:52
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        風口上的虛擬現(xiàn)實
        商周刊(2017年24期)2017-02-02 01:42:55
        虛擬現(xiàn)實技術(shù)向科幻小說借靈感
        海外星云(2016年7期)2016-12-01 04:18:00
        HTC斥資千萬美元入股虛擬現(xiàn)實設(shè)備商WEVR
        IT時代周刊(2015年8期)2015-11-11 05:50:37
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        淺談虛擬現(xiàn)實
        美女脱掉内裤扒开下面让人插 | 亚洲2022国产成人精品无码区| 免费a级毛片无码| 日本最新一区二区三区在线| 亚洲人不卡另类日韩精品| 国产ww久久久久久久久久| 国产精品无码a∨精品影院| 天码av无码一区二区三区四区 | 老子影院午夜伦不卡| 成人性生交片无码免费看| 亚洲AV秘 无码一区二区三| 一区二区三区蜜桃在线视频| 亚洲大胆视频在线观看| 国产成人精品久久二区二区91 | 午夜视频在线观看一区二区小| 免费人成在线观看网站| 天天综合网天天综合色| 国产98在线 | 免费| 亚洲大片免费| 国产在线a免费观看不卡| 亚洲综合第一页中文字幕| 免费人成在线观看网站| a在线观看免费网站大全| 亚洲日韩国产精品不卡一区在线| 国产精品国产三级农村妇女| 天天躁夜夜躁狠狠是什么心态 | 欧美a在线播放| 无码成人AV在线一区二区| 久久中文字幕一区二区| 日韩精品一区二区三区中文| 亚洲国产18成人中文字幕久久久久无码av | 国产成人精品无码播放 | 精品乱码久久久久久久| 又爽又黄无遮挡高潮视频网站| 国产高清一区在线观看| 人妻少妇精品视频一区二区三区l| 性欧美老人牲交xxxxx视频| 久久AV中文综合一区二区| 女优av福利在线观看| 国产精品久久久免费精品| 日本一卡2卡3卡四卡精品网站|