




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、學習opencv使用反向塊投影搜尋圖像中的物體的位置cvCalcBackProject.前一篇講了使用cvCalcBackProject尋找手的膚色地 方這一篇講在一幅圖像中尋找莫個特定的小物體步驟:1 .使用一幅只包含小物體的圖片(圖片大小和物體一樣大即可,不需要向上一篇同樣大),計算其二維直方圖(HSV空間中的h(亮度)和s (飽和度)二維直方圖(還可以和圖像的梯度和(或)梯度角度結合起來,查找紋理相似和(或)顏色相似2 .輸入一幅待搜索的圖片,轉(zhuǎn)化為HSV空間,只取h和s分量3 .設置搜索塊大小和物體大小相同 (即和第1步中圖片大小 相同),使用cvCalcBackProjectPatc
2、h反向塊投影 和圖片 result4 .在result中取最大值所在位置,即可得到物體在輸入圖片 中的位置了。(或者設定一個閾值)示例程序如下:#include <iostream>#include <cv.h>#include <highgui.h>#include <cxcore.h>using namespace std;void GetHSV(const IplImage *image,IplImage *h,IplImage*s,IplImage *v);int main(
3、)IplImage *src = cvLoadImage("f:imagesbluecup.jpg");IplImage *h_src = NULL ,*s_src = NULL;GetHSV(src,&h_src,&s_src,NULL);IplImage *images口 = h_src,s_src;CvHistogram *hist_src;計算二維直方圖int dims = 2;int size = 30,32; / 這個地方不要取的太大 !當取為size口 = 180,256時E7200CPU會運行長達10幾 分鐘的!float r
4、ange_h口 = 0,180 / 再用 cvCvtColor 轉(zhuǎn)換時 h 已經(jīng)歸 一化到180 了,range_s = 0,256;float *ranges口 = range_h,range_s;hist_src =cvCreateHist(dims,size,CV_HIST_ARRAY ,ranges);cvCalcHist(images,hist_src);cvNormalizeHist(hist_src,1);IplImage *dst = cvLoadImage("f:imagesadrian1.jpg");IplImage *h_dst = NULL,*s_d
5、st = NULL;GetHSV(dst,&h_dst,&s_dst,NULL);images0 = h_dst ,images1 = s_dst;CvSize patch_size = cvSize(src->width,src->height);IplImage *result = cvCreateImage(cvSize(h_dst->width -patch_size.width +1,h_dst->height - patch_size.height +1),IPL_DEPTH_32F,1);/塊
6、搜索時處理邊緣是直接舍去,故 result的大/卜比 dst小path_size大/卜/32F類型,取值為01最亮為1,可直接顯示/CV_COMP_CORREL 相關度,1時最匹配,0時最不匹配cvCalcBackProjectPatch(images,result,patch_size,hist_src,CV_COMP_CORREL,1);cvShowImage("result",result);我由最大值位置,可得到此位置即為杯子所在位置CvPoint max_location;cvMinMaxLoc(result,NULL,NULL,NULL,&max
7、_location ,NULL);加上邊緣,得到在原始圖像中的實際位置max_location.x += cvRound(patch_size.width/2);max_location.y += cvRound(patch_size.height/2);/在dst圖像中用紅色小圓點標由位置cvCircle(dst,max_location,3,CV_RGB(255,0,0),-1);cvShowImage("dst",dst);cvWaitKey();cvReleaseImage(&src);cvReleaseImage(&dst);cvR
8、eleaseImage(&h_src);cvReleaseImage(&h_dst);cvReleaseImage(&s_dst);cvReleaseImage(&s_src);cvReleaseHist(&hist_src);cvReleaseImage(&result);cvDestroyAllWindows();void GetHSV(const IplImage *image , IplImage *h,IplImage*s,IplImage *v) (IplImage *hsv = cvC
9、reateImage(cvGetSize(image),8,3);cvCvtC010r(image,hsv,CV_BGR2HSV);if(h != NULL) && (*h = NULL)* h = cvCreateImage(cvGetSize(image),8,1);if(s != NULL) && (*s = NULL)* s = cvCreateImage(cvGetSize(image),8,1);if(v != NULL) && (*v = NULL)* v = cvCreateImag
10、e(cvGetSize(image),8,1);cvSplit(hsv,*h,(s =NULL)?NULL:*s,(v=NULL)?NULL:*v,NULL);cvReleaseImage(&hsv);第一步物體圖片src剛好包含要搜索的物體:第二步輸入圖像即待搜索的圖像如下:在我的E7200 CPU , 1GB內(nèi)存 上大概運行了 20秒內(nèi)吧, 將size內(nèi)的數(shù)應該可以再適當改的更小此,速度就會提高更多了結果如下(見圖中紅色小圓圈標記由來):若待搜索的圖片里有多個此物體,也是可以通過這種方法找由來的產(chǎn)于cvCalcBackProjectPatch 的大概意義,按我的理解的話,應該是通過塊窗口搜索圖像,比較窗口中對應像素的二維直方圖與給定直方圖的差異,若完全相同,那當然就越匹配對于不同的相關度方法,越匹配,具值由相關度方法而定,如本程序使用的是CV_COMP_CORREL即越相似,則值越
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療健康行業(yè)職業(yè)素養(yǎng)指南
- 房屋出租協(xié)議合同書
- 廠房挖路修路合同范本
- 醫(yī)院檢驗聘用合同范本
- 2025廣東省安全員C證考試(專職安全員)題庫附答案
- 兒童樂園實施合同范本
- 冷棚維修合同范本
- 商品房樓頂鋼結構施工方案
- 單位食堂人員合同范本
- 2025貴州省建筑安全員-A證考試題庫附答案
- 易制毒化學品經(jīng)營管理制度
- 2024年中國成人心肌炎臨床診斷與治療指南解讀課件
- 全國川教版信息技術八年級下冊第一單元第2節(jié)《制作創(chuàng)意掛件》信息技術教學設計
- 2024山東能源集團中級人才庫選拔【重點基礎提升】模擬試題(共500題)附帶答案詳解
- 油田設備租賃行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃行業(yè)投資戰(zhàn)略研究報告(2024-2030)
- 中國古典風格設計
- 市政綜合項目工程竣工項目驗收總結報告自評
- GB/T 22919.8-2024水產(chǎn)配合飼料第8部分:巴沙魚配合飼料
- T-BJCC 1003-2024 首店、首發(fā)活動、首發(fā)中心界定標準
- 網(wǎng)絡營銷推廣與策劃教學大綱
- 北師大版五年級數(shù)學下冊教材分析解讀課件完整版
評論
0/150
提交評論