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

資源簡介

基于opencv,實現了傅里葉描述子的VC++代碼,在vs2005下親測可運行,壓縮包中附帶有運行效果截圖。 如果運行出錯的話,注意檢查是否添加了opencv附加依賴項,注意在配置屬性中將MFC的使用改為在共享DLL中使用MFC。

資源截圖

代碼片段和文件信息

//?FourierDescriptor.cpp?:?Defines?the?entry?point?for?the?console?application.
//

#include?“StdAfx.h“
#include?“cv.h“
#include?“highgui.h“
#include?

void?CalcFourierDescriptorCoeff(CvSeq*?seq_pts?int?n_fourierCvSeq*?seq_fourier);
void?CalcBoundary(CvSeq*?seq_fourier?int?n_PtsCvSeq*?seq_pts);

int?main(int?argc?char*?argv[])
{
IplImage*?color?=?cvLoadImage(“原始lena圖像.bmp“?1);
IplImage*?gray?=?cvCreateImage(cvGetSize(color)?8?1);
IplImage*?show?=?cvCreateImage(cvGetSize(color)?8?1);
cvZero(show);

cvCvtColor(color?gray?CV_RGB2GRAY); //轉換為灰度圖
cvThreshold(gray?gray?100?255?CV_THRESH_BINARY_INV);
CvMemStorage?*?storage?=?cvCreateMemStorage(0); //用來創建一個內存存儲器來存儲輪廓
CvSeq*?contours;
CvSeq*?seq_fourier?=?cvCreateSeq(CV_SEQ_KIND_GENERIC|CV_32SC2?sizeof(CvContour)sizeof(CvPoint2D32f)?storage); //創建一個序列
cvFindContours(gray?storage?&contours?sizeof(CvContour));?//從二值圖像中檢索輪廓,并返回檢測到的輪廓的個數

//cvseq產生一個序列
//? int?flags;?/*?micsellaneous?flags?*/?\
//? int?header_size;?/*?序列頭的大小?*/?\
//? struct?CvSeq*?h_prev;?/*?前一個序列?*/?\
//? struct?CvSeq*?h_next;?/*?后一個序列?*/?\
//? struct?CvSeq*?v_prev;?/*?第二級前一個序列?*/?\
// struct?CvSeq*?v_next;?/*?第二級后一個序列?*/?\
//? int?total;?/*?元素的總個數?*/?\
//? int?elem_size;/*?元素的尺寸?*/?\
//? char*?block_max;/*?上一塊的最大塊?*/?\
//? char*?ptr;?/*?當前寫指針?*/?\
//? int?delta_elems;?/*序列中快的大小
//? ?(序列粒度)?*/?\
//? CvMemStorage*?storage;?/*序列的存儲位置?*/?\
//? CvSeqBlock*?free_blocks;?/*?未分配的塊序列?*/?\
//? CvSeqBlock*?first;?/*?指向第一個快序列?*/
for(;?contours;?contours?=?contours->h_next)
{
cvDrawContours(color?contours?CV_RGB(25500)?CV_RGB(25500)?1?3);?//在圖像上繪制外部和內部輪廓
CalcFourierDescriptorCoeff(contours?20000?seq_fourier);
CalcBoundary(seq_fourier?contours->total?contours);

for(int?i?=?0;?i?total;?i++)
{
CvPoint*?pt=(CvPoint*)cvGetSeqElem(contours?i);?//讀出第i個點
if(pt->x?>=?0?&&?pt->x?width?&&?pt->y?>=?0?&&?pt->y?height)
{
((uchar*)(show->imageData+pt->y*show->widthStep))[pt->x]?=?255;
}
}

for(int?i?=?0;?i?total;?i++)
{
CvPoint*?pt=(CvPoint*)cvGetSeqElem(contours?i);
printf(“%d?%d?%d\n“?pt->x?pt->y?i);
}
}

cvNamedWindow(“gray“?1);
cvShowImage(“gray“color);
cvWaitKey(0);

cvNamedWindow(“reconstructed“?1);
cvShowImage(“reconstructed“?show);
cvWaitKey(0);
cvReleaseMemStorage(&storage);
cvReleaseImage(&color);
cvReleaseImage(&gray);
cvReleaseImage(&show);
cvDestroyAllWindows();
return?0;
}

void?CalcFourierDescriptorCoeff(CvSeq*?seq_pts?int?n_fourierCvSeq*?seq_fourier)
{
int?count?=?seq_pts->total;?//元素總個數
double?*coeff_cos?*coeff_sin;
coeff_cos?=?(double*)malloc(count*sizeof(double));
coeff_sin?=?(double*)malloc(count*sizeof(double));
int?i;
for(i?=?0;?i? { //這個循環會構成一個圓(形成一圈坐標點,連接起來就是一個類似圓,count越大越類似)
coeff_sin[i]?=?sin(2*i*CV_PI/count);?//y坐標
coeff_cos[i]?=?cos(2*i*CV_PI/count);?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-10-22?14:09??FFT\
?????目錄???????????0??2013-10-22?14:08??FFT\debug\
?????文件??????118784??2013-10-22?14:10??FFT\debug\FFT.exe
?????文件??????725672??2013-10-22?14:10??FFT\debug\FFT.ilk
?????文件?????3697664??2013-10-22?14:10??FFT\debug\FFT.pdb
?????目錄???????????0??2013-10-22?14:10??FFT\FFT\
?????文件????12479488??2013-10-22?14:10??FFT\FFT.ncb
?????文件?????????874??2013-10-11?10:50??FFT\FFT.sln
?????文件???????27648??2013-10-22?14:10??FFT\FFT.suo
?????目錄???????????0??2013-10-22?14:10??FFT\FFT\Debug\
?????文件????????6282??2013-10-22?14:10??FFT\FFT\Debug\BuildLog.htm
?????文件?????????660??2013-10-11?15:59??FFT\FFT\Debug\FFT.exe.embed.manifest
?????文件?????????724??2013-10-11?15:59??FFT\FFT\Debug\FFT.exe.embed.manifest.res
?????文件?????????625??2013-10-22?14:10??FFT\FFT\Debug\FFT.exe.intermediate.manifest
?????文件??????173368??2013-10-22?14:10??FFT\FFT\Debug\FFT.obj
?????文件??????????67??2013-10-22?14:10??FFT\FFT\Debug\mt.dep
?????文件?????1059840??2013-10-22?14:10??FFT\FFT\Debug\vc80.idb
?????文件??????593920??2013-10-22?14:10??FFT\FFT\Debug\vc80.pdb
?????文件????????4873??2013-10-22?14:10??FFT\FFT\FFT.cpp
?????文件?????????618??2013-10-11?10:53??FFT\FFT\FFT.h
?????文件????????4108??2013-10-11?15:59??FFT\FFT\FFT.vcproj
?????文件????????1405??2013-10-22?14:10??FFT\FFT\FFT.vcproj.XIAO.Administrator.user
?????文件????????1202??2013-10-11?16:06??FFT\FFT\StdAfx.h
?????文件???????66614??2004-06-29?22:59??FFT\FFT\原始lena圖像.bmp
?????目錄???????????0??2013-10-22?14:11??效果圖\
?????文件???????41001??2013-10-11?16:18??效果圖\gray.jpg
?????文件???????36906??2013-10-11?16:18??效果圖\reconstructed.jpg
?????文件???????66614??2004-06-29?22:59??效果圖\原始lena圖像.bmp

評論

共有 條評論