freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于背景差分法的物體識別畢業(yè)設計論文(編輯修改稿)

2025-07-21 01:18 本頁面
 

【文章內容簡介】 存取只有cvCreateImage可實現int origin。 // 定義結構,其中0為頂—左,1為底—左 int align。 // 圖像行,(取值為4 或者 8). OpenCV不會調用這個值,在它的位置出現的是widthStep int width。 //定義圖像的寬度值int height。 // 定義圖像高度值struct _IplROI *roi。 // 圖像集中觀察區(qū)域。當這個數值不是0的時候程序只對這個被定義的區(qū)域進行運算struct _IplImage *maskROI。 // 這個值是一個OpenCV一直將其設定為空的值void *imageId。 //這個值是一個 OpenCV一直將其設定為空的值struct _IplTileInfo *tileInfo。 // 這個值是一個 OpenCV必定將其設定為空的值int imageSize。 //定義所用圖像的數據尺寸(在交叉存取格式下imageSize=imageheight*imagewidthStep),以字節(jié)為單位char *imageData。 // 定義圖像數據int widthStep。 //定義圖像寬度,單位是字節(jié)int BorderMode[4]。 // 定義邊界結束的模式, OpenCV不會調用int BorderConst[4]。 // 定義邊界結束的模式, OpenCV不會調用char *imageDataOrigin。 // 指針指向另一個圖像數據結構(不一定要定義的),它的目的是把錯誤的圖像的內存改正過來}IplImage:IplImage源于 Intel Image Processing Library(自帶)。OpenCV 僅僅調用某個一個子集: ? alpha通道在 OpenCV中不會被調用。 ? colorModel 與channelSeq 兩個定義不會被OpenCV調用。 OpenCV中僅有的顏色轉換函數是cvCvtColor,它把初始圖像的顏色空間里邊的目標物體的顏色空間一同對待,一并看作cvCvtColor的一個參數。 ? 數據順序 必須是IPL_DATA_ORDER_PIXEL (顏色通道存取方式為交叉存取), 但是平面圖像的被選擇通道可被處理,好像COI(集中觀察通道)被設定過。 ? 當 widthStep 被用于去接近圖像行序列,排列是被OpenCV忽略的. ? 不支持maskROI。處理MASK的函數把它看成一個分離參數. 它在 OpenCV 中有 8位, 但在 IPL它只有 1位。 ? 命名信息不被支持。 ? 邊界模式和邊界常量是不被支持. 每個 OpenCV 函數處理像素的鄰近的像素,通常不會采用多種固定代碼邊界模式。 以上所說限制之外, OpenCV對于ROI的處理方面還提出了其他要求。包括要求ROI的大小或者原圖像和目標圖像的大?。ㄒ啦僮鞫悾热鏲vPyrDown 目標圖像的寬或者高一定要與原圖像的寬或者高除2 177。1相等)必精確匹配,并且由IPL處理的交叉區(qū)域則有可能完全獨立,例如圖像尺寸或者ROI尺寸。(3)CreateImage創(chuàng)建頭并分配數據IplImage* cvCreateImage( CvSize size, int depth, int channels )。size 圖像寬、高。 depth 圖像元素的位深度,可以是下面的其中之一:IPL_DEPTH_8U 無符號8位整型IPL_DEPTH_8S 有符號8位整型IPL_DEPTH_16U 無符號16位整型IPL_DEPTH_16S 有符號16位整型IPL_DEPTH_32S 有符號32位整型IPL_DEPTH_32F 單精度浮點數IPL_DEPTH_64F 雙精度浮點數channels:每個元素(像素)通道號。可以是 1, 2, 3 或 ,例如通常的彩色圖像數據排列是:b0 g0 r0 b1 g1 r1...雖然通常 IPL 圖象格式可以存貯非交叉存取的圖像,并且一些OpenCV 也能處理他, 但是這個函數只能創(chuàng)建交叉存取圖像。函數 cvCreateImage 創(chuàng)建頭并分配數據,這個函數是下列的縮寫型式。header= cvCreateImageHeader(size,depth,channels)。cvCreateData(header)。 (4) Or:計算兩個數組每個元素的按位或void cvOr( const CvArr* src1, const CvArr* src2, CvArr* dst, const CvArr* mask=NULL )。src1:第一個原數組。 src2:第二個原數組。 dst:輸出數組。 mask:操作覆蓋面( 8bit 單通道數組)。 只有覆蓋面指定的輸出數組被修改。 函數 cvOr 計算兩個數組每個元素的按位或dst(I)=src1(I)|src2(I):對浮點數組按位表示操作是很有利的。除覆蓋面,所有數組都必須有相同的類型,相同的大?。ɑ騌OI大?。#?)GetErrStatus:返回當前錯誤狀態(tài)int cvGetErrStatus( void )。函數 cvGetErrStatus 返回當前錯誤狀態(tài),這個狀態(tài)是被上一步調用的 cvSetErrStatus 設置的。 注意, 在 Leaf 模式下錯誤一旦發(fā)生程序立即被終止 ,因此對于總是需要調用函數后蔡獲得控制的應用,可以調用 cvSetErrMode 函數將錯誤模式設置為 Parent 或 Silent 。(6)Error:產生一個錯誤。int cvError( int status, const char* func_name,const char* err_msg, const char* file_name, int line )。status 錯誤狀態(tài) func_name 產生錯誤的函數名 err_msg 關于錯誤的額外診斷信息 file_name 產生錯誤的文件名 line 產生錯誤的行號函數 cvError 設置錯誤狀態(tài)為指定的值(通過 cvSetErrStatus) ,如果錯誤模式不是 Silent, 調用錯誤處理器。30第四章 利用C++實現圖像獲取與識別C++,又名CPP,是C語言的衍生產品,1983年,由貝爾實驗室的Bjarne Stroustrup推出,模塊封裝、保密性強,而且面對象編程,是一種非常適合現代軟件編程的語言,主要編譯器有Borland C++,Symantec C++ VisualC++ 2012,由于考慮到使用效果和軟件穩(wěn)定性,本實驗使用的是比較常見的Microsoft Visual Studio C++ 。第一節(jié) C++的發(fā)展階段C語言研發(fā)成功于1972年,? 這款語言并不為初學者服務,而是專為程序員進行開發(fā)工作而研發(fā)? 它大大地簡化了軟件開發(fā)的語言編寫難度,當時大多數系統(tǒng)軟件和許多應用軟件都是用C語言編寫的?隨著計算機硬件軟件的快速發(fā)展,C語言已經漸漸地不能完全滿足軟件編程的需求了。這一點在軟件安全性和變成復雜程度上充分地體現出來。為了滿足軟件大型化、復雜化的要求,貝爾工作室在1983年公開了C語言的升級版本——C++,C++面對對象編程,使得原來C語言實現起來代碼異常龐大的編程被簡化為模塊,大大提高了維護效率。C++是在繼承了C語言所有的優(yōu)點的情況下被設計出來的,這就使C++在推出后立刻占據了C語言大量的市場份額,但C語言簡單易懂的特點還是為其保留了一部分空間。1995年后,以標準模板庫(STL)和后來的Boost為首的程序庫的出現,進一步提高了C++對于C語言的競爭優(yōu)勢,但是由于編程語言的發(fā)展達到相當高的水平,大量優(yōu)秀的語言誕生,如Java、C等,這些高質量的語言的出現無疑給C++帶來了不小的沖擊,但事實證明,C++還是一款非常有效率,非常好的編程語言。進入21世紀以來,以以Loki、MPL等程序庫為首的基于C++的產生式編程和模板元編程的不斷出現,也給C++帶來了一個發(fā)展高峰期,使C++不斷提高,在編程語言數不勝數的今天仍能占據大量用戶。值得注意的是,C++的語言標準也在很大程度上領導了世界編程語言的前進方向。1998年國際標準組織(international standard organization, ISO)頒布了C++程序設計語言的國際標準ISO/IEC 19881998。C++是具有國際標準的編程語言,通常稱作ANSI/ISOC++。1998年,C++標準委員會成立,以后以5年為周期,以需要為基準更新標準。C++ 0x最終國際投票于2011年8月10日以與會國全票通過的結果正式結束,這意味著 C++ 0x已經毫無疑義地成為正式的國際標準。這個被以C++ 0x臨時命名的新標準將被正式命名為C++ 2011。C++ 2011將成為新一個C++標準,之前的標準是ISO/IEC 14882,它在1998年公布,通稱C++98,并在2003更新過一次,通稱C++ 03。新的國際標準由國際標準化組織于2011年9月1日出版發(fā)布,編號ISO/IEC 14882 : 2011,名稱Information technology Programming languages C++ Edition: 3。第二節(jié)C++的特點C++由C語言發(fā)展而來,繼承了C語言的一切優(yōu)點,具有高效率的特點,為了克服C語言編程過于簡單,導致大型程序編程時語言過于繁瑣不宜理解維護的缺點,C++將設計思路改為面向對象(Object Oriented),這種思路將以往需要消耗大量資源編程的某個問題抽象成為類、繼承,將問題抽象模塊化,把計算機作為模塊的加工者,而編程者作為這些模塊的調控者,從而大量減少了人力資源浪費,提高了編程效率。此外,貝爾工作室為了實現從C語言向C++平滑過渡的目標,特意將C++設計成與C語言高度兼容,所以C語言的編程可以集成于C++編譯環(huán)境中實現,這也一定程度上降低了C語言使用者改用C++的困難程度,推動了C++的傳播。當然,C++語言也有它的缺點,那就是過度復雜性,由于它以大軟件編程的優(yōu)化為目標,自然就有一套面向大程序編程的復雜系統(tǒng),對于小程序而言,這無疑太過復雜了,所以C++在小程序編程方面使用并不多。另外由于本身的復雜性, 就很難保證這一龐大C++程序的正確性。還有人提出C++的其他缺陷,如不能支持多線程等。雖然有如此多的質疑,而且質疑多來自于知名人士,這也恰恰證明了C++使用的廣泛性和高層次性。第三節(jié) 基于背景差分法的物體識別的程序include include include include include define THRESHOLD 20 // 差分時候的閾值 define THRESHOLD_MAX_VALUE 255 // 二值化的時候使用的最大值 define SCALE ( / ) // L*a*b*轉換成所需要的比例因子 define CAPTURE_OFF 0 // 定義圖像的中止標志值為0 define CAPTURE_ON 1 // 定義圖像的開始標志值為1 define COLOR_DIFFERENCE 0 // 用RGB各成分的差分計算值的標志為0 define LAB_DIFFERENCE 1 //用L*a*b*表彩色的差分計算的標志值為1 define GRAY_DIFFERENCE 2 // 用灰度的差分計算值的標志值為2 define NOISE_KEEP 0 // 不消除噪聲時的標志值為0 define NOISE_MORPHOLOGY 1 // 進行MORPHOLOGY噪音消除值的標志值為1 define NOISE_MEDIAN 2 // 由median過濾器的噪音消除的標志值為2 CvSize imageSize。 // 圖像的尺寸 // 基于成分的評價 // 參數: // currentImage : 當前圖像用IplImage // backgroundImage : 背景圖像用IplImage // resultImage : 結果圖像用plImage grayScaleDifference(IplImage*currentImage,IplImage *backgroundImage, IplImage *resultImage ){ // 圖像生成 IplImage *differenceImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 3 )。// 差分圖像用IplImage // 每成分取與現在的背景的差的絕對值 cvAbsDiff( currentImage, backgroundImage, differenceImage )。 // 從BGR轉換為灰度 cvCvtColor( differenceImage, resultImage, CV_BGR2GRAY )。 // 從灰度轉換為2值 cvThreshold( resultImage, resultI
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1