91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 86KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: C/C++
  • 標簽: openCV??C++??源代碼??

資源簡介

貝葉斯摳圖的C++源代碼,用到了openCV,計算機視覺

資源截圖

代碼片段和文件信息

#include?“gui.h“
#include?“matting.h“

//?stroke?type
#define?_strokeu????2
#define?_strokefg???1
#define?_strokebg???0

//?stroke?color
int?_strokeColor[]?={0?255?128};

//?stroke
#define?_swmin??????1
#define?_swmax??????40
#define?_swdefault??10

//?state
#define?_drawing????1
#define?_idle???????0

//?global?variable
static?int?stroketype?=?_strokefg;
static?int?strokewidth;
static?int?lastx?lasty?state;
IplImage?*img_gui?*usr?*flashOnlyImg_gui;

void?DrawStroke(int?evt?int?x?int?y?int?flags?void?*param)
{
CvScalar?color?=?cvScalar(?_strokeColor[stroketype]);
if(?evt?==?CV_EVENT_LBUTTONDOWN?)
{
state?=?_drawing;
lastx?=?x?lasty?=?y;
}
else?if(?evt?==?CV_EVENT_LBUTTONUP?)
{
state?=?_idle;
cvLine(?usr?cvPoint(lastx?lasty)?cvPoint(xy)?color?strokewidth);
}
else?if(?evt?==?CV_EVENT_MOUSEMOVE?&&?state?==?_drawing?)
{
cvLine(?usr?cvPoint(lastx?lasty)?cvPoint(xy)?color?strokewidth);
lastx?=?x?lasty?=?y;
}

return;
}

void?RenderMsg(?IplImage?*display)
{
char?msg[1000];
CvFont?font?=?cvFont(?1.0?1);
cvInitFont(?&font?CV_FONT_HERSHEY_PLAIN?1.5?1.5?0?2?CV_AA);

if(?stroketype?==?_strokebg)
cvPutText(?display?“Stroke:?+background“?cvPoint(?0?display->height?-?1)?&font?CV_RGB(?255?255?255));
else?if(?stroketype?==?_strokefg)
cvPutText(?display?“Stroke:?+foreground“?cvPoint(?0?display->height?-?1)?&font?CV_RGB(?255?255?255));
else?if(?stroketype?==?_strokeu)
cvPutText(?display?“Stroke:?eraser“?cvPoint(?0?display->height?-?1)?&font?CV_RGB(?255?255?255));

sprintf(?msg?“brush?size:?%3d“?strokewidth);
cvPutText(?display?msg?cvPoint(?0?20)?&font?CV_RGB(?0?255?0));

return;
}

void?initializeGUI(IplImage?*img?IplImage?*trimap?IplImage?*flashOnlyImg)
{
img_gui?=?cvCloneImage(?img?);
usr?=?cvCloneImage(?trimap?);

printf(“----------------starting?trimap?drawing?gui----------------\n“);
printf(“press?‘q‘?to?leave\n“);
printf(“press?‘w‘?to?change?stroke?type\n“);
printf(“press?‘a‘?to?increase?stroke?width\n“);
printf(“press?‘d‘?to?decrease?stroke?width\n“);

if(flashOnlyImg!=NULL)
{
flashOnlyImg_gui?=?cvCloneImage(?flashOnlyImg?);
printf(“press?‘u‘?to?increase?threshold?in?auto-generating?trimap\n“);
printf(“press?‘i‘?to?decrease?threshold?in?auto-generating?trimap\n“);
}
}

void?run()
{
int?key;
IplImage?*mask?=?cvCreateImage(?cvGetSize(img_gui)?8?1?);
IplImage?*display?=?cvCreateImage(?cvGetSize(img_gui)?8?3?);

IplImage?*fgcolor?=?cvCloneImage(?img_gui)?*bgcolor?=?cvCloneImage(?img_gui);
cvSet(?fgcolor?cvScalar(?255?0?0))?cvSet(?bgcolor?cvScalar(?0?255?255));

//?gui
int?swmin?=?_swmin;
int?swmax?=?max(?max(?img_gui->width?img_gui->height)?/?8?1);
int?swstep?=?max(?min(?img_gui->width?img_gui->height)?/?100?1);
int?swdefault?=?min(?max(?min(?img_gui->width?img_gui->height)?/?32?swmin)?swmax);

strokewidth?=?swdefaul

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-01-01?18:55??matting\
?????目錄???????????0??2012-01-01?18:55??matting\matting\
?????文件?????????886??2011-04-18?14:15??matting\matting.sln
?????文件???????15360??2011-04-18?14:15??matting\matting.suo
?????文件????????4847??2011-04-18?14:15??matting\matting\gui.cpp
?????文件?????????408??2011-04-18?14:15??matting\matting\gui.h
?????文件???????11298??2011-04-18?14:15??matting\matting\main.cpp
?????文件???????93737??2011-04-18?14:15??matting\matting\matting.cpp
?????文件???????16225??2011-04-18?14:15??matting\matting\matting.h
?????文件????????4703??2011-04-18?14:15??matting\matting\matting.vcproj
?????文件????????7231??2011-04-18?14:15??matting\matting\solver.cpp
?????文件????????1252??2011-04-18?14:15??matting\matting\solver.h
?????文件???????83456??2011-04-18?14:15??matting\matting\Thumbs.db
?????文件?????????633??2011-04-18?14:15??matting\readme.txt

評論

共有 條評論