真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

用代碼解析MFC和OpenCV如何實(shí)現(xiàn)角點(diǎn)檢測(cè)-創(chuàng)新互聯(lián)

小編這次要給大家分享的是用代碼解析MFC和OpenCV如何實(shí)現(xiàn)角點(diǎn)檢測(cè),文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供崗巴企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為崗巴眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
// 角點(diǎn)檢測(cè) 
// 根據(jù)《基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)》
 
#define max_corners 200;     // 限定的大角點(diǎn)數(shù)
 
IplImage* srcImage = 0;     // 待處理的源圖像
IplImage* ImageShow = 0;     // 存儲(chǔ)顯示帶角點(diǎn)的圖像
IplImage* grayImage = 0;     // 原始圖像轉(zhuǎn)換成的灰階圖像
IplImage* corners1 = 0;     // 臨時(shí)圖像
IplImage* corners2 = 0;     // 臨時(shí)圖像
 
int cornerCount0 = max_corners;
int cornerCount;       // 實(shí)際測(cè)得角點(diǎn)數(shù)
int qualityLevel = 0;      // 最小質(zhì)量因子
int minDistance = 15;      // 角點(diǎn)最小距離
CvScalar color = CV_RGB(255,0,0);   // 繪圖顏色
CvPoint2D32f corners[200];     // 角點(diǎn)坐標(biāo)
CvRect ROI_rect;       // 測(cè)試范圍
char chek_area_state = 0;     // 鼠標(biāo)狀態(tài)
 
void re_find_corners(int)     // 滑動(dòng)條響應(yīng)函數(shù)
{
 int i,x,y,xl,yu,xr,yd,k;
 int radius = 5;
 int thickness = 1;
 double quality_level = (double) qualityLevel / 100 + 0.02;
 double min_distance = (double) minDistance;
 
 cornerCount=cornerCount0;    // 設(shè)置大角點(diǎn)數(shù)
 cvGoodFeaturesToTrack(grayImage,  // 角點(diǎn)檢測(cè)
 corners1,corners2,corners,&cornerCount,
 quality_level,min_distance,NULL);
 
 if (cornerCount>0) {     // 測(cè)到角點(diǎn)
 xl=ROI_rect.x;  yu=ROI_rect.y; // 設(shè)置初始測(cè)試范圍
 xr=ROI_rect.x+ROI_rect.width;
 yd=ROI_rect.y+ROI_rect.height;
 cvCopy(srcImage,ImageShow);   // 恢復(fù)源圖像
 for (i=0,k=0;inChannels>1) {    // 原圖為真彩色圖像==3
 srcImage = cvCloneImage(workImg);
 }
 else {         // 原圖為灰階圖像
 srcImage = cvCreateImage(cvGetSize(workImg),IPL_DEPTH_8U,3);
 cvCvtColor(workImg,srcImage,CV_GRAY2BGR);
 }
 cvFlip(srcImage);
 
 grayImage = cvCreateImage(cvGetSize(srcImage),IPL_DEPTH_8U,1);
 cvCvtColor(srcImage,grayImage,CV_BGR2GRAY); // 轉(zhuǎn)換為灰階圖像
 ImageShow = cvCloneImage(srcImage);
 
 ROI_rect.x =0;
 ROI_rect.y =0;
 ROI_rect.width = grayImage->width;
 ROI_rect.height = grayImage->height;
 
 corners1 = cvCreateImage(cvGetSize(grayImage),IPL_DEPTH_32F,1);
 corners2 = cvCreateImage(cvGetSize(grayImage),IPL_DEPTH_32F,1);
 
 cvNamedWindow("image",0);    // 設(shè)置顯示窗口
 cvResizeWindow("image",325,350);  // 改變窗口尺寸
 
 cvCreateTrackbar("角點(diǎn)最小距離", "image", // 設(shè)置距離滑動(dòng)條
 &minDistance, 200,re_find_corners);
 cvCreateTrackbar("最小質(zhì)量因子","image", // 設(shè)置質(zhì)量滑動(dòng)條
 &qualityLevel,100,re_find_corners);
 
 re_find_corners(0);      // 角點(diǎn)檢測(cè)
 
 cvSetMouseCallback("image",on_mouse2,0); // 設(shè)置鼠標(biāo)響應(yīng)函數(shù)
 
 cvWaitKey(0);       // 等待鍵輸入
 
 cvDestroyWindow( "image" );    // 關(guān)閉窗口
 
 cvReleaseImage(&srcImage);    // 釋放圖像存儲(chǔ)單元
 cvReleaseImage(&grayImage);
 cvReleaseImage(&corners1);
 cvReleaseImage(&corners2);
 
 cvFlip(ImageShow);
 m_dibFlag=imageReplace(ImageShow,&workImg); // 輸出檢測(cè)結(jié)果
 
 m_ImageType=-2;
 Invalidate();
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


文章題目:用代碼解析MFC和OpenCV如何實(shí)現(xiàn)角點(diǎn)檢測(cè)-創(chuàng)新互聯(lián)
新聞來源:http://weahome.cn/article/doesod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部