原创 大端模式和小端模式

1.爲什麼存在大小端模式 計算機系統中,每個地址單元對應一個字節(8bit),一種數據類型的數據可能佔用若干字節。如何安排這種數據類型中的各個字節,哪個字節在低地址哪個在高地址,以及一個字節中的各個比特的排列,這就牽涉到大小端模式。也就是

原创 C++多態、虛函數、純虛函數、抽象類、虛基類

一、C++多態 C++的多態包括靜態多態和動態多態。靜態多態包括函數重載和泛型編程,動態多態包括虛函數。靜態多態是指在編譯期間就可以確定,動態多態是指在程序運行時才能確定。 二、虛函數 1、虛函數爲類的非靜態成員函數,訪問權限一般爲pub

原创 運算符重載與友元函數

一、概述   C++預定義的運算符的操作對象只能是基本數據類型,但是實際上許多用戶自定義類型(例如類),也需要類似的運算符操作,C++可以通過運算符重載來滿足這種需求。運算符重載本質就是函數重載,也是C++多態的一種形式。運算符重載是通過

原创 OpenCV3編程入門讀書筆記5-邊緣檢測

一、邊緣檢測的一般步驟 1、濾波 邊緣檢測的算法主要是基於圖像強度的一階和二階導數,但導數通常對噪聲很敏感,因此必須採用濾波器來改善與噪聲有關的邊緣檢測器的性能。 2、增強 增強邊緣的基礎是確定圖像各點領域強度的變化值。增強算法可以將圖像

原创 OpenCV使用中的一些總結

一、threshold閾值操作 1、閾值可以被視作最簡單的圖像分割方法。例如,從一副圖像中利用閾值分割出我們需要的物體部分,這樣的圖像分割方法基於圖像中的物體與背景之間的灰度差異。 2、threshold對單通道數組應用固定閾值操作。 原

原创 Linux庫多重依賴

源文件: //world.cpp #include <stdio.h> void world(void) { printf("world.\n"); } //hello.cpp #include <stdio.h> vo

原创 將博客搬至CSDN

將博客搬至CSDN

原创 OpenCV3編程入門-讀書筆記2-core組件

一、顏色空間縮減 1、概念 如果圖像是3通道,深度爲1個字節,則每個像素有256*256*256種可能值,這麼多的可能值會對算法性能造成嚴重影響。利用顏色空間縮減就能解決這個問題,例如將顏色值0~9取爲新值0,10~19取爲10,以此類推

原创 linux中gcc和g++的區別

1、兩者都是編譯器 2、gcc編譯c語言;g++既可以編譯c語言,也可以編譯c++語言 3、gcc不能自動鏈接庫文件,一般用g++來鏈接庫文件,非要用gcc的話,一般使用gcc -lstdc++命令 4、extern “c”對於gcc和g

原创 linux編譯相關命令

一、編譯可執行文件 g++ –c Hello.cpp  編譯文件,生成目標文件Hello.o g++ Hello.o –o a.out  鏈接並重命名爲可執行文件a.out g++ Hello.cc    編譯鏈接一起,生成a.out g

原创 結構體(或者聯合體)變量的成員在內存裏是如何分佈的

1.概述 結構體變量的成員在內存裏是如何分佈的、成員先後順序是怎樣的、成員之間是連續的還是分散的、還是其他的什麼形式?這些問題既和軟件相關又和硬件相關。所謂軟件相關主要是指和具體的編程語言的編譯器的特性相關,編譯器爲了優化CPU訪問內存的

原创 類的類型轉換和轉換函數

一、概述   不同基本數據類型間可以進行類型轉換。有的可以自動類型轉換,例如將int類型值賦值給long型變量。對於完全不兼容的類型,如果要進行類型轉換隻能通過強制類型轉換。同樣的,類類型也可以與其他數據類型進行類型轉換。 二、自動類型轉

原创 OpenCV中Mat總結

一、數字圖像存儲概述 數字圖像存儲時,我們存儲的是圖像每個像素點的數值,對應的是一個數字矩陣。 二、Mat的存儲 1、OpenCV1基於C接口定義的圖像存儲格式IplImage*,直接暴露內存,如果忘記釋放內存,就會造成內存泄漏。 2、從

原创 OpenCV掩模mask的原理和作用

一、什麼是掩模mask OpenCV中很多函數都帶有一個mask參數,mask被稱爲掩模。圖像掩模一般用來對處理的圖像(全部或者局部)進行遮擋,來控制圖像處理的區域或處理過程。 二、掩模原理 掩模一般是小於等於源圖像的單通道矩陣,掩模中的

原创 vector使用心得

1.vector<TYPE> m_vecData在消息傳遞中通過LPARAM傳值   (1)SendMessage(MESSAGE,0,(LPARAM)&m_vecData);   (2)在響應函數中         vector<TYP