Time of Update: 2018-12-05
在視窗的同一個位置切換不同的顯示內容,所有的內容都是一個在同一個構件上顯示的,可以切換顯示的內容。Demo VC6.0工程 demo的介面,很簡單,按change鍵切換不同的顯示,開始時是空的,按一下顯示salarys,再按一下顯示types,再按一下返回空白介面。後台一個線程負責重新整理資料。salarystypes 奇怪的問題:在VC6+fltk1.1.10中重新整理有些問題,詳見下面的程式碼分析。在VS2008+FLTK1.3.x中正常。線程函數void
Time of Update: 2018-12-05
最開始的C介面中的是 cvGetTickCount()和 cvGetTickFrequency(),在程式段的開始和結束時兩次使用cvGetTickCount(),然後將兩次的差除以cvGetTickFrequency()後就可以獲得程式段的以微秒us為單位的已耗用時間,不是很精確但是一般足夠了。
Time of Update: 2018-12-05
滑動控制項是Windows中最常用的控制項之一。一般而言它是由一個滑動條,一個滑塊和可選的刻度組成,使用者可以通過移動滑塊在相應的控制項中顯示對應的值。通常,在滑動控制項附近一定有標籤控制項或編輯框控制項,用於顯示相應的值。滑動控制項在應用程式中用途級為廣泛,如在案頭的屬性中就可以看到。為此,讓我們一起來看一下它的實現方法。 (1)在VC++
Time of Update: 2018-12-05
一般更改開啟程式時的左上方的程式表徵圖使用如下方法: 對話方塊為例,在對話方塊建構函式中m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON3);將最後的IDR_MAINFRAME改為自己的表徵圖即可,上面改為了IDI_ICON3,更改的表徵圖需要先匯入或者添加進資源icon裡,文檔結構的應該類似,就是找到loadicon函數,將預設的mfc表徵圖換成自己的。
Time of Update: 2018-12-05
CamShift演算法,即”Continuously Apative Mean-Shift”演算法,是一種動作追蹤演算法。它主要通過視頻映像中運動物體的顏色資訊來達到跟蹤的目的。我把這個演算法分解成三個部分,便於理解:1) Back Projection計算2) Mean Shift演算法3) CamShift演算法在這裡主要討論Back Projection,在隨後的文章中繼續討論後面兩個演算法。Back Projection計算Back Projection的步驟是這樣的:1.
Time of Update: 2018-12-05
亮度變換是指映像在空域上的點運算,通常包括映像增強、亮度/對比、GAMMA值調節、長條圖調整等等。下面給出兩個例子說明如何改變映像的亮度、對比以及如何進行映像的GAMMA值調節。亮度變換的原理可以參考MATLAB中的函數 imadjust.m,下面給出一個例子說明如何進行亮度變換的。在MATLAB視窗中鍵入: >> imadjdemo; 進行亮度變換示範。調整“Intensity Transform”視窗中的曲線,可以對映像進行亮度變換,這裡調整的參數是 gamma =1,
Time of Update: 2018-12-05
裝了兩個版本,在win7 x64下裝的是最新的5.0.1,:http://qt-project.org/downloads/,安裝完之後好像直接就可以用了,沒有什麼配置麻煩。 然後是在用的時候,照著《C++ GUI QT4編程》敲第一個程式時,卡殼了,編譯不過去,看著書上使用的4.3.2左右的版本【附錄A中說寫書的時候,windows下的版本是4.3.2】,於是就在虛擬機器的xp中裝,開始時裝的是4.7.4版本,QT
Time of Update: 2018-12-05
//使用FileStorage的C++格式儲存自訂類時,調試了3天半,發現的問題,以官方網站例子為例,進行了修剪//原始代碼見:https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/filestorage.cpp #include "opencv2/core/core.hpp"#include <iostream>#include <string>using namespace cv;using
Time of Update: 2018-12-05
fltk中在控制項上顯示映像可以使用產生靜態數組的方式,用的時候直接載入顯示即可,但是這種方式對於只是開始時顯示以後就不用的映像,靜態數組不能隨後釋放,特別是在映像比較大時會佔用大量的記憶體。 可以使用fluid將映像轉換的靜態數群組轉換為映像資料,在使用的時候讀入,用完之後釋放,這樣就可以節省一部分資源。 下面是一個將fluid產生的映像資料靜態數群組轉換為資料檔案然後在使用時載入的例子。 首先是將靜態數組檔案讀取出來:size_t
Time of Update: 2018-12-05
環境:win7,QT 5.0.1程式是《C++ GUI QT4編程》的第一個入門程式,但是編譯運行這個程式確實費了點勁。#include <QtWidgets/QApplication>#include <QtWidgets/QLabel>int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel *pLabel = new QLabel("<h2><i>
Time of Update: 2018-12-05
決心好好研究一下opencv2.x,正好現在論文也寫完了,有一些時間,從頭深入研究一下! 先從基礎結構cv::Mat開始,首先分析了一下Mat的主要的成員變數: 下面的是Mat的聲明,在core.hpp中:class CV_EXPORTS Mat{public: /** functions*/ enum { MAGIC_VAL=0x42FF0000, AUTO_STEP=0, CONTINUOUS_FLAG=CV_MAT_CONT_FLAG,
Time of Update: 2018-12-05
學習《C++ GUI QT4編程》一開始作者就是用的命令列編譯的方式,對於我這種從來沒用過命令列的IDE人,頗感麻煩,以前連個cmd下的cd命令都是時而會用時而不會,雖然有心感覺應該學習一下,但是從來都是戰勝不了借口。 終於看到第二章建立對話方塊時,IDE用不下去了,是該學習一下命令列編譯的時候了。 開始先要設定好mingw路徑的環境變數,否則會找不到編譯命令。首先建立的是一個純C++的cout輸出程式,不涉及GUI的,最簡單的:#include
Time of Update: 2018-12-05
昨天使用opencv2.3.1的SURF特徵做特徵點匹配時,發現了drawMatches函數總是出問題,異常提示為vector溢出?百思不得其解,為什麼別人用的好好的,到我這就溢出了??!!! 今天仔細研究了一下opencv的手冊,終於發現了問題,使用FlannBasedMatcher進行match函數匹配時,沒有注意順序:matcher的第一個參數為query特徵描述子,第二個為train特徵描述子,這樣產生的匹配對DMatch是對應的,後面使用drawMatch
Time of Update: 2018-12-05
在開發有關bitmap方面的程式時,經常需要將位元影像的顏色在RGB和HSV色彩空間之間轉換,該色彩轉換由C++實現:RGB色彩空間轉換為HSV空間顏色值:void Rgb2Hsv(float R, float G, float B, float& H, float& S, float&V){ // r,g,b values are from 0 to 1 // h = [0,360], s = [0,1], v = [0,1] // if s ==
Time of Update: 2018-12-05
以前也寫過一篇關於擷取cv::Mat矩陣元素的方法的文章,沒有仔細研究,最近仔細總結了一下,廢話少說直接上代碼:#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/contrib/contrib.hpp>#include <iostream>#include <fstream>using
Time of Update: 2018-12-05
自從參加工作與OpenCV拜拜之後,半年了都沒有到中文論壇上溜達,今天上去一看,哇~~新版的2.4.3都已經發布了,而且有了一個專門的網站http://opencv.org/,發現上面有推薦一本新的OpenCV的書,《Mastering OpenCV with Practical Computer Vision Projects》,剛剛出版不久,而且可以購買電子版,看到電子版,會心一笑【你懂得~~肯定有某位熱心人士已經共用電子版了,就像另一個opencv的cookbook一樣】,
Time of Update: 2018-12-05
HSV色彩空間 HSV(hue,saturation,value)色彩空間的模型對應於圓柱座標系中的一個圓錐形子集,圓錐的頂面對應於V=1. 它包含RGB模型中的R=1,G=1,B=1 三個面,所代表的顏色較亮。色彩H由繞V軸的旋轉角給定。紅色對應於 角度0° ,綠色對應於角度120°,藍色對應於角度240°。在HSV顏色模型中,每一種顏色和它的補色相差180° 。 飽和度S取值從0到1,所以圓錐頂面的半徑為1。HSV顏色模型所代表的色域圖是CIE色度圖的一個子集,這個
Time of Update: 2018-12-05
【轉自人人網源地址:http://blog.renren.com/GetEntry.do?id=896285182&owner=274281790,
Time of Update: 2018-12-05
這次再深入學習一下calcHist函數,即用於計算長條圖的函數,主要是分析一下該函數的眾多的參數,看看應該如何使用,先給出一段代碼,其中包括兩部分,一部分來自opencv_tutorials中的例子,一部分來自opencv2refman中,都進行了修改,opencv版本為2.3.1。#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include
Time of Update: 2018-12-05
主要是手冊中關於該部分的翻譯;有很多的建立Mat對象的方法,主要的有以下:1、使用create(nrow,ncols,type)函數,或者相似的建構函式Mat(nrow,ncols,type[,fillValue]),將分配新的指定大小和格式的數組,type的意義和cvCreateMat函數一樣,例如CV_8UC1意思是建立8位單通道的數組,而CV_32FC2則是兩通道的浮點數數組;例如://建立一個7*7的複數矩陣並且初始化為1+3j;cv::Mat M(7,7,CV_32FC2,