<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          實(shí)操教程|OpenCV中保存不同深度圖像的技巧

          共 2514字,需瀏覽 6分鐘

           ·

          2022-02-17 12:14

          ↑ 點(diǎn)擊藍(lán)字?關(guān)注極市平臺(tái)

          來(lái)源丨OpenCV學(xué)堂
          編輯丨極市平臺(tái)

          極市導(dǎo)讀

          ?

          本文詳解了OpenCV中保存不同深度圖像的兩種方法。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿

          什么是圖像深度

          很多人開始學(xué)習(xí)OpenCV之后,接觸前面幾個(gè)API就包括imwrite函數(shù),而且很快知道了如何去保存Mat對(duì)象為圖像,常規(guī)代碼如下:

          imwrite("D:/result.png?",?dst);

          其中dst是Mat對(duì)象。

          這樣保存的圖像默認(rèn)是每個(gè)通道8位的字節(jié)圖像,常見的RGB圖像是圖像深度為24,這個(gè)可以通過(guò)windows下查看圖像屬性獲得,截圖如下:

          如果每個(gè)通道占16位的話,RGB圖像深度就會(huì)變成48,如果每個(gè)通道占32位的話,深度就會(huì)變成96,顯然圖像深度越大,圖像文件也會(huì)越多,加載時(shí)候消耗的內(nèi)存也會(huì)越多,所以O(shè)penCV中默認(rèn)讀寫圖像都是每個(gè)通道8位(單字節(jié))圖像。

          重溫imwrite函數(shù)

          假設(shè)我們想保存圖像為16位或者32位浮點(diǎn)數(shù)圖像時(shí)候,我們?cè)撛趺慈プ?,在開始之前我們首先再次復(fù)習(xí)一下OpenCV中保存圖像的API函數(shù)-imwrite

          bool?cv::imwrite(
          ???const?String?&??filename,
          ???InputArray?img,
          ???const?std::vector?&??params?=?std::vector()
          )
          Filename?參數(shù)為聲明的文件保存路徑
          Img參數(shù)表示的是將要保存的Mat圖像對(duì)象
          Params?表示的是保存圖像時(shí)的選項(xiàng),

          這些選項(xiàng)包括PNG/JPG/WEBP/TIFF壓縮質(zhì)量、格式選擇等,可以分為如下四個(gè)大類

          • ImwriteEXRTypeFlags

          • ImwriteFlags

          • ImwritePAMFlags

          • ImwritePNGFlags,

          之前寫過(guò)一篇文章是關(guān)于在保持時(shí)候如何使用這些選項(xiàng)對(duì)圖像進(jìn)行適當(dāng)?shù)膲嚎s處理,這里關(guān)于Params參數(shù)使用方式就不再贅述,主要是基于key-value方式添加到vector中去即可。

          imwrite函數(shù)在關(guān)于保存為不同深度格式時(shí)候的圖像類型支持說(shuō)明如下:

          • 8位的圖像(CV_8U),支持png/jpg/bmp/webp等各種常見圖像格式

          • 16位的圖像(CV_16U),支持png/jpeg2000/TIFF格式

          • 32位的圖像(CV_32F),支持PFM/TIFF/OpenEXR/TIFF/HDR

          在要保存為指定格式之前,可以通過(guò)convertTo或者cvtCOLOR進(jìn)行圖像類型或者通道轉(zhuǎn)換之后,再調(diào)用imwrite進(jìn)行保存。

          各種不同深度保存

          16位圖像保存

          轉(zhuǎn)換之后,如果直接保存,代碼如下:

          //?加載圖像
          Mat?src?=?imread("D:/flower.png",?IMREAD_UNCHANGED);
          printf("depth?%d?\n",?src.depth());

          //?轉(zhuǎn)為為16位圖像
          Mat?dst;
          src.convertTo(dst,?CV_16U);
          imshow("flower16",?dst);
          imwrite("D:/flower-16.png",?dst);


          轉(zhuǎn)換之后,歸一化之后再保存,代碼如下:

          //?加載圖像
          Mat?src?=?imread("D:/flower.png",?IMREAD_UNCHANGED);
          printf("depth?%d?\n",?src.depth());

          //?轉(zhuǎn)為為16位圖像
          Mat?dst;
          src.convertTo(dst,?CV_16U);

          //?歸一化再保存
          normalize(dst,?dst,?0,?256?*?256,?NORM_MINMAX);
          imwrite("D:/flower-16.png",?dst);
          imshow("flower-16",?dst);


          兩者效果對(duì)比如下:

          32位圖像保存

          //?加載圖像
          Mat?src?=?imread("D:/flower.png",?IMREAD_UNCHANGED);
          printf("depth?%d?\n",?src.depth());

          //?轉(zhuǎn)為為16位圖像
          Mat?dst;
          src.convertTo(dst,?CV_32F);

          //?歸一化再保存
          normalize(dst,?dst,?0,?1.0,?NORM_MINMAX);
          imwrite("D:/flower-32.png",?dst);
          imshow("flower-32",?dst);


          對(duì)上述各種不同深度的圖像,必須通過(guò)下面的方式才可以正確讀取

          Mat?src?=?imread("D:/flower.png",?IMREAD_UNCHANGED);

          其中IMREAD_UNCHANGED表示不對(duì)原圖像做任何改變。


          公眾號(hào)后臺(tái)回復(fù)“數(shù)據(jù)集”獲取30+深度學(xué)習(xí)數(shù)據(jù)集下載~

          △點(diǎn)擊卡片關(guān)注極市平臺(tái),獲取最新CV干貨
          極市干貨
          數(shù)據(jù)集資源匯總:10個(gè)開源工業(yè)檢測(cè)數(shù)據(jù)集匯總21個(gè)深度學(xué)習(xí)開源數(shù)據(jù)集分類匯總
          算法trick目標(biāo)檢測(cè)比賽中的tricks集錦從39個(gè)kaggle競(jìng)賽中總結(jié)出來(lái)的圖像分割的Tips和Tricks
          技術(shù)綜述:一文弄懂各種loss function工業(yè)圖像異常檢測(cè)最新研究總結(jié)(2019-2020)


          #?CV技術(shù)社群邀請(qǐng)函?#

          △長(zhǎng)按添加極市小助手
          添加極市小助手微信(ID : cvmart4)

          備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)


          即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與?10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動(dòng)交流~


          覺得有用麻煩給個(gè)在看啦~??
          瀏覽 142
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黑人巨大开小嫩苞 | 麻豆成人免费视频在线观看 | 四虎最新域名 | 天天操中文字幕 | 色综合88 |