資源簡介
對數(shù)極坐標(biāo)變換,具有尺度不變性和旋轉(zhuǎn)不變性,采用OpenCV函數(shù)實(shí)現(xiàn),VS2012+OpenCV2.4.8編譯通過。

代碼片段和文件信息
//?LPT.cpp?:?定義控制臺應(yīng)用程序的入口點(diǎn)。
//
#include?“stdafx.h“
#include?
#include?“opencv2/opencv.hpp“
using?namespace?cv;
using?namespace?std;
int?cvtest()
{
IplImage*?src;
double?M;
src=cvLoadImage(“2.jpg“1);
//if(argc==3?&&?((src=cvLoadImage(argv[1]1))!=0))
{
M=2;
IplImage*?dst=cvCreateImage(cvGetSize(src)83);
IplImage*?src2=cvCreateImage(cvGetSize(src)83);
cvLogPolar(?src?dst?cvPoint2D32f(src->width/2src->height/2)?40?CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS?);?//以圖像中心位原點(diǎn),縮放比例40,雙線性插值,
//空白部分填充黑色。
cvLogPolar(?dst?src2?cvPoint2D32f(src->width/2src->height/2)?40?CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS+CV_WARP_INVERSE_MAP?);
//cvLogPolar(srcdstcvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
//cvLogPolar(dstsrc2cvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_INVERSE_MAP);
cvNamedWindow(“source“1);
cvShowImage(“source“src);
cvNamedWindow(“l(fā)og-polar“1);
cvShowImage(“l(fā)og-polar“dst);
cvNamedWindow(“inverse?log-polar“1);
cvShowImage(“inverse?log-polar“src2);
//cvWaitKey();
}
return?0;
}
int?cvtest1()
{
IplImage*?src;
double?M;
src=cvLoadImage(“1.jpg“1);
//if(argc==3?&&?((src=cvLoadImage(argv[1]1))!=0))
{
M=2;
IplImage*?dst=cvCreateImage(cvGetSize(src)83);
IplImage*?src2=cvCreateImage(cvGetSize(src)83);
cvLogPolar(?src?dst?cvPoint2D32f(src->width/2src->height/2)?40?CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS?);?//以圖像中心位原點(diǎn),縮放比例40,雙線性插值,
//空白部分填充黑色。
cvLogPolar(?dst?src2?cvPoint2D32f(src->width/2src->height/2)?40?CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS+CV_WARP_INVERSE_MAP?);
//cvLogPolar(srcdstcvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
//cvLogPolar(dstsrc2cvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_INVERSE_MAP);
cvNamedWindow(“source1“1);
cvShowImage(“source1“src);
cvNamedWindow(“l(fā)og-polar1“1);
cvShowImage(“l(fā)og-polar1“dst);
cvNamedWindow(“inverse?log-polar1“1);
cvShowImage(“inverse?log-polar1“src2);
//cvWaitKey();
}
return?0;
}
int?_tmain(int?argc?_TCHAR*?argv[])
{
/*
IplImage*?src;
double?M;
src=cvLoadImage(“1.jpg“1);
//if(argc==3?&&?((src=cvLoadImage(argv[1]1))!=0))
{
M=2;
IplImage*?dst=cvCreateImage(cvGetSize(src)83);
IplImage*?src2=cvCreateImage(cvGetSize(src)83);
cvLogPolar(srcdstcvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
cvLogPolar(dstsrc2cvPoint2D32f(src->width?/4src->height?/2)MCV_INTER_LINEAR+CV_WARP_INVERSE_MAP);
cvNamedWindow(“source“1);
cvShowImage(“source“src);
cvNamedWindow(“l(fā)og-polar“1);
cvShowImage(“l(fā)og-polar“dst);
cvNamedWindow(“inverse?log-polar“1);
cvShowImage(“inverse?log-polar“src2);
cvWaitKey();
}
*/
????cvtest();
cvtest1();
cvWaitKey();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????92550??2014-06-10?09:42??LPT\LPT\1.jpg
?????文件??????24158??2014-06-10?13:05??LPT\LPT\2.jpg
?????文件???????3018??2014-06-10?13:12??LPT\LPT\LPT.cpp
?????文件???????4997??2014-06-10?12:59??LPT\LPT\LPT.vcxproj
?????文件???????1307??2014-06-10?12:56??LPT\LPT\LPT.vcxproj.filters
?????文件???????1482??2014-06-10?12:56??LPT\LPT\ReadMe.txt
?????文件????????208??2014-06-10?12:56??LPT\LPT\stdafx.cpp
?????文件????????233??2014-06-10?12:56??LPT\LPT\stdafx.h
?????文件????????236??2014-06-10?12:56??LPT\LPT\targetver.h
?????文件????????876??2014-06-10?12:56??LPT\LPT.sln
????..A..H.?????19968??2014-06-10?18:53??LPT\LPT.v11.suo
?????目錄??????????0??2014-06-10?20:08??LPT\LPT
?????目錄??????????0??2014-06-10?20:08??LPT
-----------?---------??----------?-----??----
???????????????149033????????????????????13
評論
共有 條評論