资源简介
对数极坐标变换,具有尺度不变性和旋转不变性,采用OpenCV函数实现,VS2012+OpenCV2.4.8编译通过。
代码片段和文件信息
// LPT.cpp : 定义控制台应用程序的入口点。
//
#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 ); //以图像中心位原点,缩放比例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(“log-polar“1);
cvShowImage(“log-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 ); //以图像中心位原点,缩放比例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(“log-polar1“1);
cvShowImage(“log-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(“log-polar“1);
cvShowImage(“log-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
相关资源
- CameraHDR.rar
- number.zip
- 机器视觉霍夫圆检测识别木材死节O
- 图像的预处理灰度图、二值化、字符
- 批量处理图片大小
- OpenCV实现相位相关图像配准
- opencv彩色图转换为灰度图并保存
- vgg_generated_80.i
- opencv-图片相似度对比代码-感知哈希算
- opencv2.44附加依赖项
- rk3288平台深度学习框架caffe+opencv环境
-
cascadexm
l.rar - 图片上加文字或者数字opencv
- OpenCV切边案例-01
- 提取二值图像中的最大轮廓OpenCV版
- Opencv 目标检测和识别
- opencv实现特征点的检测与匹配
- Qt魔方还原lesson5-opencv识别颜色
- opencv 标定 带图片
- ippicv_2017u2_lnx_intel64_20170418.tgz
- cxcore.lib的生成工程
- Caffe安装支持文件
- opencv调用摄像头捕捉并进行人脸识别
- opencv+串口通讯
- 图像处理源码 opencv图像处理源码
- opencv2.4.9opencv_createsamples.exe和opencv_h
- LSD-直线检测源码
- Opencv 特征点提取 代码
- Opencv 各种特征点提取和匹配
- opencv调用摄像头并截图保存
评论
共有 条评论