资源简介
对数极坐标变换,具有尺度不变性和旋转不变性,采用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
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- halcon极坐标变换傅里叶变换
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
评论
共有 条评论