亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

OpenCV鼠標繪制矩形和截取矩形區域圖像

2020-01-26 13:33:32
字體:
來源:轉載
供稿:網友

本文實例為大家分享了OpenCV鼠標繪制截取矩形區域圖像的具體代碼,供大家參考,具體內容如下

在opencv中利用鼠標繪制矩形,代碼如下:

#include <cv.h> #include <highgui.h> #include <stdio.h> #pragma comment( lib, "cv.lib" ) #pragma comment( lib, "cxcore.lib" ) #pragma comment( lib, "highgui.lib" ) IplImage* src = 0;  IplImage* dst = 0;  void on_mouse( int event, int x, int y, int flags, void* ustc) {   static CvPoint pre_pt = {-1,-1};   static CvPoint cur_pt = {-1,-1};   CvFont font;   cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0, 1, CV_AA);   char temp[16];   if( event == CV_EVENT_LBUTTONDOWN )   {     cvCopy(dst,src);     sprintf(temp,"(%d,%d)",x,y);     pre_pt = cvPoint(x,y);     cvPutText(src,temp, pre_pt, &font, cvScalar(0,0, 0, 255));     cvCircle( src, pre_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0 );     cvShowImage( "src", src );     cvCopy(src,dst);   }   else if( event == CV_EVENT_MOUSEMOVE && !(flags & CV_EVENT_FLAG_LBUTTON))   {     cvCopy(dst,src);     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(src,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvShowImage( "src", src );   }   else if( event == CV_EVENT_MOUSEMOVE && (flags & CV_EVENT_FLAG_LBUTTON))   {     cvCopy(dst,src);     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(src,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvRectangle(src, pre_pt, cur_pt, cvScalar(0,255,0,0), 1, 8, 0 );     cvShowImage( "src", src );   }   else if( event == CV_EVENT_LBUTTONUP )   {     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(src,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvCircle( src, cur_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0 );     cvRectangle( src, pre_pt, cur_pt, cvScalar(0,255,0,0), 1, 8, 0 );     cvShowImage( "src", src );     cvCopy(src,dst);   } } int main() {   src=cvLoadImage("lena.jpg",1);   dst=cvCloneImage(src);   cvNamedWindow("src",1);   cvSetMouseCallback( "src", on_mouse, 0 );   cvShowImage("src",src);   cvWaitKey(0);    cvDestroyAllWindows();   cvReleaseImage(&src);   cvReleaseImage(&dst);   return 0; 

在opencv中利用鼠標繪制矩形并截取該矩形區域的圖像

測試代碼如下:

#include <cv.h> #include <highgui.h> #include <stdio.h> #pragma comment( lib, "cv.lib" ) #pragma comment( lib, "cxcore.lib" ) #pragma comment( lib, "highgui.lib" ) IplImage* org = 0; IplImage* img = 0;  IplImage* tmp = 0;  IplImage* dst = 0;  void on_mouse( int event, int x, int y, int flags, void* ustc) {   static CvPoint pre_pt = {-1,-1};   static CvPoint cur_pt = {-1,-1};   CvFont font;   cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0, 1, CV_AA);   char temp[16];   if( event == CV_EVENT_LBUTTONDOWN )   {     cvCopy(org,img);     sprintf(temp,"(%d,%d)",x,y);     pre_pt = cvPoint(x,y);     cvPutText(img,temp, pre_pt, &font, cvScalar(0,0, 0, 255));     cvCircle( img, pre_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0 );     cvShowImage( "img", img );     cvCopy(img,tmp);   }   else if( event == CV_EVENT_MOUSEMOVE && !(flags & CV_EVENT_FLAG_LBUTTON))   {     cvCopy(tmp,img);     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(img,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvShowImage( "img", img );   }   else if( event == CV_EVENT_MOUSEMOVE && (flags & CV_EVENT_FLAG_LBUTTON))   {     cvCopy(tmp,img);     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(img,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvRectangle(img, pre_pt, cur_pt, cvScalar(0,255,0,0), 1, 8, 0 );     cvShowImage( "img", img );   }   else if( event == CV_EVENT_LBUTTONUP )   {     cvCopy(tmp,img);     sprintf(temp,"(%d,%d)",x,y);     cur_pt = cvPoint(x,y);        cvPutText(img,temp, cur_pt, &font, cvScalar(0,0, 0, 255));     cvCircle( img, cur_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0 );     cvRectangle( img, pre_pt, cur_pt, cvScalar(0,255,0,0), 1, 8, 0 );     cvShowImage( "img", img );     cvCopy(img,tmp);     int width=abs(pre_pt.x-cur_pt.x);     int height=abs(pre_pt.y-cur_pt.y);     if(width==0 || height==0)     {       cvDestroyWindow("dst");       return;     }     dst=cvCreateImage(cvSize(width,height),org->depth,org->nChannels);     CvRect rect;     if(pre_pt.x<cur_pt.x && pre_pt.y<cur_pt.y)     {       rect=cvRect(pre_pt.x,pre_pt.y,width,height);     }     else if(pre_pt.x>cur_pt.x && pre_pt.y<cur_pt.y)     {       rect=cvRect(cur_pt.x,pre_pt.y,width,height);     }     else if(pre_pt.x>cur_pt.x && pre_pt.y>cur_pt.y)     {       rect=cvRect(cur_pt.x,cur_pt.y,width,height);     }     else if(pre_pt.x<cur_pt.x && pre_pt.y>cur_pt.y)     {       rect=cvRect(pre_pt.x,cur_pt.y,width,height);     }     cvSetImageROI(org,rect);     cvCopy(org,dst);     cvResetImageROI(org);     cvDestroyWindow("dst");     cvNamedWindow("dst",1);     cvShowImage("dst",dst);     cvSaveImage("dst.jpg",dst);   } } int main() {   org=cvLoadImage("lena.jpg",1);   img=cvCloneImage(org);   tmp=cvCloneImage(org);   cvNamedWindow("img",1);   cvSetMouseCallback( "img", on_mouse, 0 );   cvShowImage("img",img);   cvWaitKey(0);    cvDestroyAllWindows();   cvReleaseImage(&org);   cvReleaseImage(&img);   cvReleaseImage(&tmp);   cvReleaseImage(&dst);   return 0; } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区久久| 97人人模人人爽人人喊中文字| 国产午夜精品一区二区三区| 亚洲欧洲av一区二区| 91欧美精品午夜性色福利在线| 久久久噜久噜久久综合| 国产精品吹潮在线观看| 日本a级片电影一区二区| 中文字幕在线看视频国产欧美| 成人福利网站在线观看| 一区二区三区四区精品| 欧美在线精品免播放器视频| 国产美女久久精品香蕉69| 国语自产精品视频在线看抢先版图片| 中文字幕日韩av综合精品| 午夜精品久久久久久久99热| 日韩av片电影专区| 亚洲免费av电影| 日韩精品中文字幕在线观看| 5252色成人免费视频| 欧美日韩国产中文精品字幕自在自线| 成人xxxxx| 欧美日韩激情小视频| 91精品一区二区| 欧美怡红院视频一区二区三区| 2019精品视频| 午夜精品蜜臀一区二区三区免费| 欧美二区在线播放| 成人h片在线播放免费网站| 欧美日韩电影在线观看| 国产精品美女无圣光视频| 久久免费成人精品视频| 欧美日韩裸体免费视频| 日韩国产精品亚洲а∨天堂免| 成人福利在线观看| 国产精品99久久久久久www| 久久久久久久久久婷婷| 狠狠色狠狠色综合日日小说| 亚洲欧美制服另类日韩| 97视频免费在线观看| 亚洲的天堂在线中文字幕| 精品国产一区二区三区在线观看| 日韩精品视频在线免费观看| 色婷婷av一区二区三区在线观看| 久久免费观看视频| 日韩一区二区av| 91视频免费网站| 国产欧美日韩专区发布| 亚洲区bt下载| 久久在线视频在线| 欧美日本精品在线| 国产精品国产三级国产aⅴ浪潮| 精品夜色国产国偷在线| 国产精品1区2区在线观看| 亚洲精品suv精品一区二区| 成人性生交大片免费观看嘿嘿视频| 国产日韩欧美在线看| 亚洲国产日韩欧美在线图片| 国产精品十八以下禁看| 中文字幕免费精品一区| 国内精品小视频在线观看| 国产精品日韩在线一区| 久久久久久久网站| 国产大片精品免费永久看nba| 精品国产拍在线观看| 在线播放国产一区二区三区| 欧美激情在线观看视频| 亚洲黄页视频免费观看| 国产乱人伦真实精品视频| 视频一区视频二区国产精品| 欧美影院在线播放| 欧美黑人性视频| 在线播放国产一区中文字幕剧情欧美| 国产欧美在线看| xxav国产精品美女主播| 国产精品自拍偷拍视频| 亚洲影院污污.| 亚洲一区二区三区乱码aⅴ| 91精品国产免费久久久久久| 91精品在线播放| 亚洲高清福利视频| 高清欧美一区二区三区| 91久久国产综合久久91精品网站| 亚洲自拍小视频免费观看| 国产精品欧美日韩久久| 91精品国产乱码久久久久久蜜臀| 欧美乱人伦中文字幕在线| 午夜精品www| 日韩精品中文字幕久久臀| 亚洲性无码av在线| 日日噜噜噜夜夜爽亚洲精品| 国产精品精品视频| 日韩精品在线观看视频| 国产成人免费91av在线| 日韩国产欧美精品一区二区三区| 国产成人午夜视频网址| 国产精品wwwwww| 国产精欧美一区二区三区| 欧美精品videosex牲欧美| 国产日韩欧美在线观看| 日韩电影免费在线观看中文字幕| 91亚洲一区精品| 亚洲精品www久久久| 国产精品无av码在线观看| 亚洲аv电影天堂网| 一区二区在线免费视频| 亚洲在线免费观看| 中文字幕欧美亚洲| 狠狠操狠狠色综合网| 欧美大片网站在线观看| 久久免费高清视频| 91在线高清视频| 欧美一级黑人aaaaaaa做受| 亚洲欧洲av一区二区| 中文字幕日韩欧美精品在线观看| 成人乱人伦精品视频在线观看| 国产在线观看不卡| 国产99久久精品一区二区 夜夜躁日日躁| 高清视频欧美一级| 欧美性猛交xxxx偷拍洗澡| 亚洲人成伊人成综合网久久久| 一区二区在线免费视频| 国产精品久久视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲九九九在线观看| 久久香蕉精品香蕉| 欧美野外猛男的大粗鳮| 国产成人综合精品| 欧美日韩亚洲一区二| 欧美亚洲伦理www| 欧美另类老女人| 综合网中文字幕| 久久久伊人欧美| 国产精品在线看| 色先锋资源久久综合5566| 欧美成人免费大片| 国产成+人+综合+亚洲欧美丁香花| 91九色在线视频| 欧美成人激情在线| 欧美精品videos另类日本| 国模精品视频一区二区三区| 日韩福利伦理影院免费| 91精品国产高清自在线看超| 欧美黑人xxx| 日本高清视频精品| 欧美成人一区二区三区电影| 欧美限制级电影在线观看| 欧美一级黑人aaaaaaa做受| 欧美贵妇videos办公室| 色综合天天综合网国产成人网| 91爱视频在线| 热门国产精品亚洲第一区在线| 欧美日韩国产综合新一区| 亚洲va欧美va在线观看| 国产精品高清在线观看| 不用播放器成人网| 成人性生交xxxxx网站| 亚洲欧美日韩一区二区在线| 久久久久久久久久久网站| 国产97免费视| 亚洲欧美综合v| 久久99久国产精品黄毛片入口| 亚洲电影免费观看高清完整版在线观看| 国产精品久在线观看|