1. 程式人生 > >Opencv3程式設計入門學習筆記(一)

Opencv3程式設計入門學習筆記(一)

1.影象載入

a) IplImage* srcImage0 = cvLoadImage("lenna", 1);//程式退出前如果步release,會出現記憶體洩漏問題

b) Mat srcImage = imread("lenna.png", 1);//同樣使讀取圖片,不存在release和記憶體洩漏問題

2.Opencv載入3通道彩色影象,解碼後,是以BGR(藍、綠、紅)順序儲存,而不是RGB順序。

3.影象顯示

a) imshow("【原圖】", srcImage);//僅僅顯示影象

b) namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);//定製視窗,如新增滾動條、按鈕等;另外,

WINDOW_OPENGL(全寫Open Graphics Library)是個定義了一個跨程式語言、跨平臺的程式設計介面規格的專業的圖形程式介面。它用於三維影象(二維的亦可),是一個功能強大,呼叫方便的底層圖形庫。關注destroyWindows()destroyAllWindows()兩個釋放記憶體的函式(大型程式)。

4. TrackBar(滑動條/軌跡條)Opencv以軌跡條代替有效按鈕

a) 建立TrackBar並在window上顯示的有效流程

i. namedWindow..-createTrackBar..-on_TrackBarint, void*

ii. On_TrackBar(int, void*)作用:執行計算

add引數-addweighted..-imshow..

b) CV_EXPORTS_W int getTrackbarPos(const String& trackbarname, const String& winname);

獲取當前TrackBar位置

5. 小結

a) OpenCV函式中輸出影象的記憶體分配是自動完成的(除非特別指定);

b) 使用OpenCV C++介面時不需要考慮記憶體釋放問題,但使用C介面時必須要手動釋放記憶體;

c) C++介面賦值運算子和拷貝只複製資訊頭,簡言之使複製的指向矩陣資訊的指標,不會複製矩陣資訊,非常省時,這也是C++介面極大優勢之一;

d) 使用函式clone()或者copyTo複製的是一幅影象的全部矩陣資訊,這是非常耗時的,因而在專案中要儘量避免使用他們。

e) 做數字影象處理,本質上就是做矩陣變換控制。

6.顏色系統總結

a) RGB 最常見,是人眼和顯示裝置的工作機制

b) HSV和HLS把顏色分解為調色、飽和度和明亮度。是描述顏色更為自然的方式。

c) YCrCb在JPEG影象格式中廣泛使用

d) CIE L*a*b是一種在感知上均勻的顏色空間,適合用來度量兩個顏色之間的距離。

相關推薦

Opencv3程式設計入門學習筆記

1.影象載入 a) IplImage* srcImage0 = cvLoadImage("lenna", 1);//程式退出前如果步release,會出現記憶體洩漏問題。 b) Mat srcImage = imread("lenna.png", 1);//同樣使讀取圖片,

Opencv3程式設計入門學習筆記之split通道分離Debug過程中0xC0000005記憶體訪問衝突問題

這是筆者學習《Opencv3程式設計入門》的第四篇部落格,這篇部落格主要是解決在Windows系統下VS 2013中Debug含有split分離通道色彩函式時報出的0xC0000005記憶體訪問衝突問題,問題表現如下面第一幅圖所示。 剛剛遇到這個問題的時候

前端開發入門學習筆記

type red 學習 lin attach black 復合 等於 round HTML:超文本標記語言。 html:是一個基礎結構。 CSS:就是跟網頁做裝修的,修飾HTML的基礎內容:樣式。 JavaScript:一個網頁的行為,動作,動態的東西。 html標準文件格

JAVA程式設計思想學習筆記

物件導論 1.1 抽象過程 Smalltalk的五個基本特性: 萬物皆為物件。 程式是物件的集合,它通過傳送訊息來告知彼此所要做的。 每個物件都有自己的由其他物件所構成的儲存。 每個物件都有其型別。 某一特定型別的所有物件都可以接受同樣的訊息。

python入門學習筆記——字串+註釋

利用課外晚上時間計劃10天基本學完python的基本用法,然後再寫一些小的專案。 堅持10天每天一貼,記錄和鞭策自己的學習。 如果有興趣的朋友可以來看看,不會適合零基礎學習的,還是需要一些程式設計基礎的用來學習的。 1. 字串 1.1修

微信小程式入門學習筆記

入門級的跳轉格式: wx.redirectTo():不能返回上一層頁面 wx.navigateTo():用於頁面的跳轉 以上兩個不能跳轉於"tabBar" 因此跳轉"tabBar": wx.switchTab 感謝大佬的教程解答 了我的問題 以下附上原文連結 作者

Hive程式設計指南-學習筆記 資料型別和分隔符

一、Hive概述 Hive定義了類似SQL的查詢語言——HiveQL,使用者編寫HiveQL語句執行MapReduce任務,查詢儲存在Hadoop叢集中的資料。 HiveQL與MySQL最接近,但還是有顯著性差異的。Hive不支援行級插入、更新操作和刪除操作。Hive不支

MFC入門學習筆記

最近看了一下MFC,隨手記錄下點東西,算是留著給自己偶爾看看吧~ 學習環境:VS2017+MFC小專案實戰 1.使用MFC平臺新建文件時,可選基本對話方塊、單文件介面、多文件介面、多個頂層文件,一般選擇基本對話方塊或多文件MDI兩者就夠用了。 2.檢視從MFC類CView派生。 3.

《集體智慧程式設計學習筆記

第二章 提供推薦 1、蒐集偏好 先構造一個簡單的資料集: #使用者對不同電影的評分 critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman

opencv3 學習筆記

itl tle text 坐標 angle scale pat 無符號 port 1、cv2.imread(path,cv2.IMREAD_ANYCOLOR) IMREAD_ANYCOLOR=4(全彩模式)/IMREAD_GRAYSCALE=0(灰度模式)2、cv2.imw

springmvc學習筆記 -- 從零搭建,基礎入門

out hand char webapp core localhost list ges del 1、新建maven項目 參考mybatis學習筆記(五) -- maven+spring+mybatis從零開始搭建整合詳細過程(上)第一部分,修改配置 2、修

1、spring-boot學習筆記簡單入門

ava project nal run plugin mailto 5.4 安全 class a 一、新建普通Maven工程 pom.xml <parent> <groupId>org.springframework.boot</gr

javaweb學習筆記:web入門簡介、tomcat

目錄 1.web入門 2.tomcat 2.1 Tomcat的安裝與使用 2.2 Tomcat的目錄結構 2.3 Web應用的目錄結構 1.web入門 B/S (Broswer -Server 瀏覽器端- 伺服器端)架構,其典型應用就是各種網站。它的特點是第一,不

程式設計導論——以Python為舟》學習筆記

春遊坐車問題 【問題描述】有學生70人組織春遊,要租用大巴,每輛大巴可承載30人,至少要多少輛大巴可裝載所有學生?,請問每輛車要裝載多少學生才能讓每輛車的人數較為平均的分佈,請輸出每輛車的所載人數。 【解題思路】先求得最少需要多少輛大巴,得到大巴數目後需要儘量將學生平均分到所有大巴上,所

C學習筆記程式設計作業

C學習筆記(一)-程式設計作業 第十一週作業: [Loop]雙基迴文數 [Loop]校門外的樹 [Algorithm]約瑟夫環 [Recursion] 漢諾塔 [Algorithm]紀念郵票 [algorithm]

Excel中VBA程式設計學習筆記

1、註釋及編碼規則 註釋: 單引號:可以位於句子結尾或者單獨一行; Rem:單獨一行   編碼規則: 如果VB中的關鍵字是由多個英文字母組成,則系統自動將每個單詞的首字母轉換成大寫字母,其餘字母一律轉換成小寫字母。 對於使用者自定義的變數名、

Scala學習筆記入門

變數定義 Scala有兩種變數,val和var。val類似於Java中的final變數,一旦初始化了,val就不能再被賦值。var可以多次賦值。但由於函數語言程式設計特性,Scala更推崇val。 var的使用也有其侷限性,Scala有型別推斷的功能,當var被初始化後,其型別就已經被斷定,比如 當m被

SQL入門經典(第5版)學習筆記

1.縮寫“SQL”的含義是什麼?stuctured query language 結構化查詢語言 2.SQL命令的6個主要類別是什麼?事務控制命令 commit 資料定義語言 create table 資料操作語言 update 資料查詢語言 select 資料管理命令(進行審計分析 start audit

Web 前端開發入門學習筆記

Web前端入門級學習筆記   1.基本概念 css-cascading style sheet   2.網頁設計中HTML,CSS,JavaScript地位 HTML:內容 CSS:呈現(樣式) JavaScript:互動(頁面的動態效果)

Tensorflow學習筆記Tensorflow入門

Tensorflow入門 前言: 本文是閱讀《TensorFlow:實戰Google深度學習框架》第三章提煉出來的筆記,非本人原創。 這一章主要介紹: TensorFlow 名字說明最重要兩個概念:Tensor(張量),Flow(流)。 tensor張量可以理解