Time of Update: 2018-12-03
假如要編寫一個CMath類,其中有一個方法abs(),原形如下:class CMath{public: int abs(int a);}; 一般的編程習慣是直接寫代碼,然後調試,至於測試,則以後再說。TDD要求,在未編寫測試代碼前不能寫任何產品代碼。這裡使用的測試架構是CppUnit,用例代碼使用本系列的一和二介紹的格式,為了減少篇幅,只列出關鍵代碼,CppUnit的使用及輔助代碼的編寫方法請參閱本系列的一和二。
Time of Update: 2018-12-03
大津法(OTSU法)大津法由大津於1979年提出,對映像Image,記t為前景與背景的分割閾值,前景點數占映像比例為w0,平均灰階為u0;背景點數占映像比例為w1,平均灰階為u1。映像的總平均灰階為:u=w0*u0+w1*u1。從最小灰階值到最大灰階值遍曆t,當t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大時t即為分割的最佳閾值。對大津法可作如下理解:該式實際上就是類間方差值,閾值t分割出的前景和背景兩部分構成了整幅映像,而前景取值u0,機率為
Time of Update: 2018-12-03
VTDD概述 TDD(Test-Driven Development,測試驅動開發),是一種具有突出優點的軟體開發、設計和測試方法。TDD的基本思路是測試先行,通過測試來推動開發的進行。TDD的重要目的不僅在於通過測試使產出的代碼品質可控,還在於在開發過程中協助程式員去除模稜兩可的需求。 TDD具有明確需求、明確設計、測試即文檔、代碼品質可控、提高開發效率等優點,但也具有不可忽視的缺點:
Time of Update: 2018-12-03
幾個要點:(1)目前的程式體系是一維的,只要有三個結構(順序、條件、迴圈)就可以完成所有功能。程式定位與調用只需要一個地址。(2)二維、多維程式的結構及相關體系。(3)一維程式所能完成的功能從理論上講與二維、、、多維程式應該是同數量級的。類似康托連續統的一個簡單結論,"不僅平面和直線之間可以建立一一對應,而且一般的n維連續空間也可以建立一一對應"。(4)一維程式在並行計算、神經網路、人工智慧、以及自我進化方面的缺陷。(5)人腦的類比系統是否應該用三維程式體系來構造?? 阿須數位
Time of Update: 2018-12-03
利用光流法計算人體運動的速度與方向 1.方向的計算首先計算映像各個象素的光流(opencv LK),然後建立4*4視窗對X,Y方向分別做統計求和,然後求得 atan(yy/xx)作為光流方向,即為運動的方向. 2.速度的計算利用幀差分得到運動映像,然後建立4*4視窗對映像進行統計求和,求和值作為權重,表示速度的比例.即運動地區白色(255)面積越大,速度越大.3.結果大部分運動方向計算正確,少部分有錯誤,還需要改進演算法.(利用統計?) 4.代碼:WW_RETURN
Time of Update: 2018-12-03
使用“英特爾整合效能原件(英特爾 IPP)Windows 版”,可構建隨選即用的功能並提高應用程式效能。它利用跨多個平台的函數庫,這些函數庫中的函數均針對英特爾酷睿雙核處理器的多核心功能進行過最佳化。您還可以使用各種預先構建的函數與轉碼器,涉及領域包括:音頻、視頻及影像處理;密碼技術;語音辨識;以及矩陣、向量數學及訊號處理。多媒體和資料處理的多核動力英特爾 高效能多媒體函數庫(英特爾 IPP)包含上千個針對多媒體和資料處理應用高度最佳化並為多核設計的軟體函數。這些多媒體和資料處理應用程式套件括:
Time of Update: 2018-12-03
如何在MFC程式中使用Open Inventor 本文將介紹如何在MFC程式中使用Open Inventor(以下簡稱OIV)開發庫。文中將使用VC 2003作為開發環境,使用SIM公司(www.coin3d.org)公司提供的Coin3D OIV作為Open Inventor開發庫。關於OIV在Visual C++中的設定,請閱讀網站 “Open Inventor-Coin3D開發環境” 中的內容。 1.建立工程首先啟動VC 2003,使用MFC
Time of Update: 2018-12-03
第十五章 拖拽器和操作器 本章目標在閱讀完本章節後,我們將有能力做下列事情: l 將拖拽器與情境中的域或引擎相串連。l 解釋拖拽器與操作器之間的區別。l 能夠編寫當互動操作開始或結束時、滑鼠移動時、或拖拽器的某個域值發生變化時被調用的回呼函數。l 在應用程式中允許使用者利用操作器直接編輯情境中的節點。l 定製拖拽器的外觀。 本章將討論如何使用 拖拽器 和 操作器
Time of Update: 2018-12-03
作者 Karthik Krishnan瞭解英特爾 整合效能基元(英特爾 IPP)如何提供構建模組來開發具備進階功能的 VoIP 應用程式。瞭解構建模組,以構建完整的 Softphone 應用程式。VoIP (VoIP) 通過將語音和資料合併到一個 IP 網路,正在從根本上改變電信行業。英特爾可以提供各種產品、服務和構建模組,以在各個域中實現 VoIP 解決方案。英特爾 整合效能基元(英特爾 IPP)是一種軟體庫,可以提供各種高度最佳化的功能,例如多媒體和語音轉碼器。本文提供有關將英特爾
Time of Update: 2018-12-03
// this is only necessary if the app is supporting win95#if !defined(COMPILE_MULTIMON_STUBS) && (WINVER < 0x0500)//// this needs to be here so that we get the wrapper stubs that deal with win95 platforms#define
Time of Update: 2018-12-03
一、如何下載擷取MIT-BIH的資料從下面這個官方連結頁面可以下載到所有48組MIT-BIH心電資料:http://www.physionet.org/physiobank/database/mitdb/
Time of Update: 2018-12-03
第十四章 節點工具包 本章目標在閱讀完本章節後,我們將有能力做下列事情: l 在情境中使用節點工具包,選擇工具包中所需要的組件,並可以設定這些組件。l 解釋路徑、全路徑、以及節點工具包路徑之間的差異。l 使用節點工具包來實現一個簡單多級運動情境。 本章所要描述的節點工具包將提供一種建立Inventor節點分組的便捷機制。當我們要建立一個像索引三角面集(indexed triangle strip
Time of Update: 2018-12-03
程式員的發展路線一般有兩條:技術路線、管理路線,其實還有一條前景和錢景都很不錯的路線:諮詢老師。凱樂軟體即將開始招聘技術指導老師,及老師團隊的中層管理者:技術部經理。這兩個職位特別適合性格開朗、有一定C/C++編程經驗、希望尋求更廣闊發展空間的程式員或團隊主管。這一期只在廣州招聘。
Time of Update: 2018-12-03
(承上篇) 新加的這幾行程式碼完成字串的移動。這樣,代碼基本上寫完了,結果對不對呢?CTRL+F7編譯一下。 結果是完全不對的。我們來分析一下,輸入是這個,全部代碼都是黑色,表示都執行到了,跟我設想的一樣。問題在哪裡呢? 看一下計算左邊空格的代碼,經過計算後,指標位移了,所以後面的計算,使用的是不正確的指標。 我們把指標先儲存一下,第二次計算前再恢複回來。看看結果怎麼樣。
Time of Update: 2018-12-03
《 OPENCV 教程 --- 基礎篇》一書終於面市了,欣喜之餘也忐忑不安。很多陌生的朋友網上向我打聽書的情況,當時都不知如何回答為好,因為自己也確實不是很清楚書何時能夠出來。等真的拿到書以後,本人的擔心有愈來愈大的趨勢。平心而論,書中很多的見解和寫法也是從自己對OPENCV的理解上考慮的,肯定有不完善和錯誤的地方。請大家多多諒解了。OPENCV
Time of Update: 2018-12-03
Ping-Che Chen 目錄: Part 1 Part 2 Part 3 Part 4文檔內容:[Part 1]在之前的 FSAA 簡介中,已經有稍微提到三角面的失真(aliasing)問題。不過,在該文章中,主要提到的方法,是在於消除三角面邊緣的
Time of Update: 2018-12-03
1.3 單元測試的效益 單元測試的效益可以說是立竿見影,並且會推動整個開發過程的改進。 首先,單元測試可以保證代碼的品質。因為只有單元測試,能夠全面檢測代碼單元的功能邏輯,排除代碼中大量的、細小的錯誤。 其次,排錯成本最小。如果在編碼階段同時進行單元測試,排錯成本可以忽略不計。但若到了後期,排錯成本可能會增長上百倍,要是產品已經到了使用者手裡,那造成的損失就更難說了。
Time of Update: 2018-12-03
本系列文章探討TDD(測試驅動開發)與VTDD(可視化的TDD)。內容分為三部分:開源測試架構介紹,TDD探討,VTDD探討。關於開源測試架構,網上有大量相關文章,我本來不想再寫,但是我嘗試了CppUnit的另一種使用方式,比較簡單和高效,因此分享出來,其他開源架構就不寫了。 CppUnit的改進與使用(1)
Time of Update: 2018-12-03
二、 單元測試實踐的主要問題 單元測試有個特點:測試簡單獨立的代碼很容易,但要在實際工作中做好單元測試卻很困難。 根據我們的經驗,企業在實施單元測試時,通常會面對四大問題—— 不願做:程式員沒有單元測試習慣。 沒時間:編寫測試代碼需要耗費大量的時間,項目的周期可能不允許。 做不了:代碼具有較高的耦合性,使單元測試難以進行。 做不好:測試效果不能令人滿意。我們通常會以覆蓋率來衡量測試效果,但要實現高標準的測試覆蓋很困難。 三、
Time of Update: 2018-12-03
什麼是TDD TDD是Test-Driven Development的縮寫,即測試驅動開發。TDD的基本思路是利用測試來推動開發的進行,並不是單純的測試過程。TDD是極限編程的核心之一,但TDD也可以單獨運用。TDD的優勢