色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV的Mat數(shù)據(jù)格式及其遍歷的程序資料說明

C語言專家集中營 ? 來源:未知 ? 2019-02-17 09:42 ? 次閱讀

在opencv早期的版本中,圖像通過一個(gè)叫做IplImage的結(jié)構(gòu)(structure)存儲在內(nèi)存中。由于C語言程序員高度的信任,因此它需要手動地對內(nèi)存進(jìn)行管理,比如內(nèi)存的分配和回收,這在大型程序設(shè)計(jì)中是比較麻煩的。幸運(yùn)地是,C++可以很好地幫助程序員管理內(nèi)存,因此opencv2.0后就引入了C++接口。但是C++也有缺點(diǎn),比如說目前大部分的嵌入式系統(tǒng)只支持C語言,在這些平臺上開發(fā)opencv程序的話用C++就不是很好。

cv::Mat是一個(gè)C++類,包含兩部分:1)Matrix header,包括矩陣的size、存儲方式、矩陣的存儲地址等信息;2)指向Marix的指針ji。由于圖像處理算法通常都是計(jì)算密集型算法,出于程序速度上的考慮,opencv的設(shè)計(jì)應(yīng)盡可能地避免拷貝大圖像,為了解決這個(gè)問題,opencv使用了引用計(jì)數(shù)機(jī)制(reference counter system)【python也使用了這個(gè)機(jī)制,參考之前的博客】。簡單來說,滅個(gè)Mat對象都有自己的header,在進(jìn)行copy運(yùn)算時(shí),只有headers和指向矩陣的指針會被拷貝,而矩陣本身不會被拷貝,舉個(gè)栗子:

上面的三個(gè)Mat對象srcImg,dstImg,C最終都只想同一個(gè)數(shù)據(jù)矩陣,雖然它們的headers是不同的。對它們其中的任意一個(gè)進(jìn)行修改都會影響另外兩個(gè)對象。上面程序的運(yùn)行結(jié)果如圖:

當(dāng)然,如果想拷貝矩陣本身也是有辦法的,opencv提供了兩個(gè)方法:clone()和copyTo():

Mat F = A.clone();

Mat G;

A.copyTo(G);

最后總結(jié)一下:

1)opencv函數(shù)中輸出圖像的內(nèi)存是自動分配的;

2)賦值運(yùn)算和拷貝構(gòu)造函數(shù)只是拷貝了header,我們可以把這種拷貝理解為一種淺拷貝;

3)如果想進(jìn)行深拷貝,即拷貝矩陣本身的數(shù)據(jù),可以采用clone()或copyTo()函數(shù)。

對1和2的理解可以很重要,這可以解釋下面這個(gè)程序:

其運(yùn)行結(jié)果為:

關(guān)于如何創(chuàng)建一個(gè)Mat對象,最好的辦法就是看mat.hpp,因?yàn)閷?shí)在有太多了...,這里在介紹一下opencv里面的一下data

type,比如說CV_8UC3,CV_32FC3,CV_32F是什么意思:

CV_[the number of bits per item][signed or unsigned][Type prefix]C[The channel number]

最后是一個(gè)大頭部分:介紹如何遍歷cv::Mat。

Q1:圖像在Mat中是如何存儲的呢?

通常我們有足夠多的內(nèi)存,使得上面這個(gè)矩陣可以一行接著一行地連續(xù)存儲,具體是不是呢,可以用isContinous()函數(shù)來判斷。因此最高效的遍歷方法還是采用指針(還有迭代器方法):

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73773
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41451
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4805

    瀏覽量

    84928

原文標(biāo)題:opencv——Mat數(shù)據(jù)格式及其遍歷

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    VTHD這個(gè)寄存器的數(shù)據(jù)格式是?3.21帶符號格式是什么格式

    VTHD這個(gè)寄存器的數(shù)據(jù)格式是?3.21帶符號格式是什么格式?沒有找到相關(guān)說明,那位高人給兄弟指點(diǎn)下,非常感謝!
    發(fā)表于 12-27 07:56

    標(biāo)準(zhǔn)數(shù)據(jù)格式實(shí)用程序快速參考

    標(biāo)準(zhǔn)數(shù)據(jù)格式實(shí)用程序快速參考
    發(fā)表于 01-22 11:32

    標(biāo)準(zhǔn)數(shù)據(jù)格式實(shí)用程序

    標(biāo)準(zhǔn)數(shù)據(jù)格式實(shí)用程序
    發(fā)表于 01-23 17:02

    海洋環(huán)境信息數(shù)據(jù)格式分析研究

    海洋環(huán)境信息是海洋科學(xué)研究與信息交流的重要基礎(chǔ),其數(shù)據(jù)格式的標(biāo)準(zhǔn)化不僅影響數(shù)據(jù)的交互性,也是影響海洋環(huán)境信息共享的關(guān)鍵所在。目前,國內(nèi)外海洋環(huán)境信息數(shù)據(jù)格式多種
    發(fā)表于 02-22 16:05 ?7次下載

    數(shù)據(jù)格式,計(jì)算機(jī)中數(shù)據(jù)格式詳細(xì)介紹

    數(shù)據(jù)格式,計(jì)算機(jī)中數(shù)據(jù)格式詳細(xì)介紹    計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種,一是定點(diǎn)格式,二是浮點(diǎn)格式
    發(fā)表于 04-13 11:36 ?3720次閱讀

    gps數(shù)據(jù)格式含義說明

    本內(nèi)容介紹了gps數(shù)據(jù)格式的含義,給出了GPS輸出的是NMEA-0183的數(shù)據(jù)格式,GPS固定數(shù)據(jù)輸出語句($GPGGA)
    發(fā)表于 12-19 14:57 ?1.3w次閱讀

    遍歷圖像像素的14種方法_OpenCV2版書本配套示例程序24

    遍歷圖像像素的14種方法_OpenCV2版書本配套示例程序24,來自一本國外OpenCV2書籍的示例-遍歷圖像像素的14種方法。
    發(fā)表于 06-06 15:20 ?0次下載

    opencv中三種常見數(shù)據(jù)容器:Mat,cvMat和IplImage及它們編程顯示圖像的差異

    IplImage, CvMat, Mat 的關(guān)系opencv中常見的與圖像操作有關(guān)的數(shù)據(jù)容器有Mat,cvMat和IplImage,這三種類型都可以代表和顯示圖像,但是,
    發(fā)表于 11-25 13:18 ?6585次閱讀

    java生成json格式數(shù)據(jù) 和 java遍歷json格式數(shù)據(jù)

    本文檔內(nèi)容介紹了基于java生成json格式數(shù)據(jù) 和 java遍歷json格式數(shù)據(jù),供參考
    發(fā)表于 03-19 15:04 ?0次下載

    OPENCV數(shù)據(jù)容器之CVMAT 、MAT、IplImage

    之前的cvMat和lplImage,相比之下Mat最大的好處就是能夠更加方便的進(jìn)行內(nèi)存管理,不再需要程序員手動管理內(nèi)存的釋放。opencv2.3中提到Mat是一個(gè)多維的密集
    發(fā)表于 06-15 18:36 ?392次閱讀

    TPC TP協(xié)議族簡單解讀及網(wǎng)絡(luò)數(shù)據(jù)格式及封裝和解包的資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是TPC TP協(xié)議族簡單解讀及網(wǎng)絡(luò)數(shù)據(jù)格式及封裝和解包的資料概述。
    發(fā)表于 04-24 18:30 ?1次下載
    TPC TP協(xié)議族簡單解讀及網(wǎng)絡(luò)<b class='flag-5'>數(shù)據(jù)格式</b>及封裝和解包的<b class='flag-5'>資料</b>概述

    如何使用OpenCV訪問Mat圖像中每個(gè)像素的值

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用OpenCV訪問Mat圖像中每個(gè)像素的值
    發(fā)表于 11-26 16:13 ?4次下載

    總結(jié)一下OpenCV遍歷圖像的幾種方法

    在圖形處理中,遍歷每個(gè)像素點(diǎn)是最基本的功能,是做算法的基礎(chǔ),這篇文章來總結(jié)一下OpenCV遍歷圖像的幾種方法。
    的頭像 發(fā)表于 01-18 15:08 ?1756次閱讀

    串口通訊的基本概念、數(shù)據(jù)格式

    本文介紹了串口通訊的基本概念、數(shù)據(jù)格式、通訊方式、典型的串口通訊標(biāo)準(zhǔn)等內(nèi)容。
    的頭像 發(fā)表于 04-23 11:13 ?5738次閱讀
    串口通訊的基本概念、<b class='flag-5'>數(shù)據(jù)格式</b>

    如何實(shí)現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1265次閱讀
    主站蜘蛛池模板: 后式大肥臀国产在线| 美女网站免费久久久久久久| 亚洲欧美综合中文| 欧美一区二区影院| 超碰97 总站 中文字幕| 日日操夜夜操狠狠操| 久久sese| 国产精品亚洲精品久久品| chinese耄耋70老太性| 丝袜美女自摸| 男人把女人桶到高潮嗷嗷叫| 僵尸女av| av无码在线日本天堂| 一区二区三区无码高清视频| 甜性涩爱在线播放| 含羞草免费完整视频在线观看| 草莓视频免费在线观看| 69久久国产精品热88人妻| 亚洲免费一区| 无罩看奶禁18| 日本护士hd| 男女免费观看在线爽爽爽视频| 朝鲜美女bbwbbw撒尿| 2019午夜福利757视频第12集| 热思思| 红杏俱乐部| 国产精品久久久久影院| 在线观看永久免费网站| 欧美巨大xxxx做受孕妇视频| 国产美女裸身网站免费观看视频| 在线亚洲97se| 亚洲在线v观看免费国| 亚洲第一免费播放区| 美女扒开尿口直播| 久久精品人人做人人爽97| 吃寂寞寡妇的奶| 亚洲性无码AV久久成人| 性吧 校园春色| 亚州天堂在线视频av| 免费视频精品38| 伦理片 qvod|