【练习6.10】笛卡儿坐标转极坐标cvLogPolar的使用及中心点对结果的影响

提纲
题目要求
程序代码
结果图片
要言妙道

题目要求:

参见log-polar函数

a、将正方形转换为波浪线的图表

b、如果log-polar的中心点在正方形左上角,画log-polar的结果

c、如果log-polar的中心点在正方形右下角,画log-polar的结果

程序代码:

 1 // OpenCVExerciseTesting.cpp : 定义控制台应用程序的入口点。
 2 //
 3 //D:\\Work\\Work_Programming\\Source\\Image\\lena.jpg
 4
 5
 6 #include "stdafx.h"
 7 #include <cv.h>
 8 #include <highgui.h>
 9 #include <iostream>
10
11 #include <opencv2/legacy/legacy.hpp>
12 //#pragma comment(lib, "opencv_legacy2411.lib")
13
14 using namespace cv;
15 using namespace std;
16
17 //函数声明-->--->-->--->-->--->-->--->//
18
19
20 //<--<--<--<--<--<--<--<--<--函数声明//
21
22 int _tmain(int argc, _TCHAR* argv[])
23 {
24     CvSize size_Image = cvSize(400, 400);
25     IplImage * image_Resource = cvCreateImage(size_Image, IPL_DEPTH_8U, 1);
26     cvZero(image_Resource);
27
28     IplImage *image_square = cvCloneImage(image_Resource);
29
30     CvPoint point_start = cvPoint(2, 2);
31     CvPoint point_end = cvPoint(397, 397);
32     //CvPoint2D32f point_center = cvPoint2D32f((double)(((point_end.x - point_start.x) / 2) + point_start.x), (double)(((point_end.y - point_start.y) / 2) + point_start.y));
33     CvPoint2D32f point_center = cvPoint2D32f(image_Resource->width / 2, image_Resource->height / 2);
34
35     cvRectangle(image_square, point_start, point_end, cvScalar(255), 3);
36
37     cvNamedWindow("正方形", CV_WINDOW_AUTOSIZE);
38     cvShowImage("正方形", image_square);
39
40
41     //--------a:-------/:
42
43     IplImage * image_polar = cvCloneImage(image_Resource);
44     cvLogPolar(image_square, image_polar, point_center,20);
45
46     cvNamedWindow("波浪线", CV_WINDOW_AUTOSIZE);
47     cvShowImage("波浪线", image_polar);
48
49     //--------a:-------/。
50
51     //--------b:-------/:
52
53     cvZero(image_polar);
54     point_center = cvPoint2D32f(point_start.x, point_start.y);
55
56     cvLogPolar(image_square, image_polar, point_center, 20);
57     cvNamedWindow("波浪线_b", CV_WINDOW_AUTOSIZE);
58     cvShowImage("波浪线_b", image_polar);
59
60     //--------b:-------/。
61
62     //--------c:-------/:
63
64     cvZero(image_polar);
65     point_center = cvPoint2D32f(point_end.x, point_end.y);
66
67     cvLogPolar(image_square, image_polar, point_center, 20);
68     cvNamedWindow("波浪线_c", CV_WINDOW_AUTOSIZE);
69     cvShowImage("波浪线_c", image_polar);
70
71     //--------c:-------/。
72
73     cvWaitKey();
74
75     cvReleaseImage(&image_Resource);
76     cvReleaseImage(&image_square);
77     cvReleaseImage(&image_polar);
78     cvDestroyAllWindows();
79
80     return 0;
81 }

结果图片:

要言妙道:

①注意,参数m的值如果是1,观察不到结果,所以要放大

②使用cvRectangle所画的矩形,当thickness等于1的时候,矩形边线占用的像素是自己的,当thickness大于1的时候,占用矩形外部的像素

时间: 2024-08-29 17:17:51

【练习6.10】笛卡儿坐标转极坐标cvLogPolar的使用及中心点对结果的影响的相关文章

笛卡尔(x,y)空间和数极坐标(log r,角度phi)的互相转换

原理: 数极坐标是对物体视场的一种不变表示,比如所有的正方形都是一样的,产生了一类二维旋转和尺度的不变性 rho=M*log(sqrt(x2+y2)) phi=atan(y/x) 核心函数: cvLogPolar 效果: 代码: #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> int LogPolar(int argc,char*

3月份.xyz域名总量10强:新网榜尾 十强地位不稳

IDC评述网(idcps.com)03月25日报道:根据ntldstats.com发布的最新数据显示,截止至2016年3月24日17时,在国内外.xyz域名总量前十域名商中,西部数码.xyz域名总量升至1,126,360个,仍稳居十强之首.而新网.xyz域名总量则出现负增长,降至21,332个,排名受此影响,较上期2月24日下滑2位,跌至第10.下面,请看IDC评述网整理的详尽数据情况. (图)国内外域名服务商.xyz域名注册总量排行榜 纵观上图,截至2016年3月24日17时,全球域名商.xy

英特尔的驱动程序与Windows 10 V1903出现兼容问题

微软刚刚在Windows 10状态日志页里添加新的已知兼容性问题,这个问题与英特尔快速存储驱动程序有关. 有鉴于此微软已经临时阻止安装此驱动程序的设备更新 Windows 10 Version 1903 版直到问题被彻底修复. 当然受影响的用户也可以尝试安装新版本或旧版本来继续使用,目前微软尝试后发现有个别版本能正常兼容. 英特尔RST驱动程序兼容问题: 微软称英特尔快速存储技术驱动程序v15.1.0.1002和v15.5.2.1053版与 Windows 10 Version 1903 不兼容

泊松方程解法

原文链接 泊松方程是数学中一个常见于静电学.机械工程和理论物理的偏微分方程.是从法国数学家.几何学家及物理学家泊松而得名的. 泊松方程为 在这里 Δ 代表的是拉普拉斯算子,而 f 和 φ 可以是在流形上的实数或复数值的方程. 当流形属于欧几里得空间,而拉普拉斯算子通常表示为 ,因此泊松方程通常写成 在三维直角坐标系,可以写成 如果没有f, 这个方程就会变成拉普拉斯方程 另外 在数学以及物理中, 拉普拉斯算子或是拉普拉斯算符(Laplace operator 或 Laplacian)是一个微分算子

Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)

整理了一下网易云歌曲评论抓取.分析好友信息抓取.淘宝宝贝抓取.今日头条美图抓取的一些代码 抓取网易云评论 进入歌曲界面: http://music.163.com/#/song?id=453185824 找到如下的数据源: 贴一段Lyrichu的代码: (运行环境为P2.7) # -*- coding: utf-8 -*-# @Time : 2017/3/28 8:46# @Author : Lyrichu# @Email : [email protected]# @File : NetClou

JS正则表达式完整教程(略长)

JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表

5种网络IO模型(有图,很清楚)

同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西.这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同.所以,为了更好的回答这个问题,我先限定一下本文的上下文. 本文讨论的背景是Linux环境下的n

集群之Haproxy

haproxy HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数.多进程或多线程模

科技世界患上“恐美症”?

据外国媒体报道,欧盟正在调查亚马逊,力图寻找到一些蛛丝马迹,证明这家美国企业存在不正当的竞争行为,以便好好敲贝索斯一笔,此外,欧盟还擅长调查Google/微软等巨头企业,他们担心Google利用自己在搜索领域的垄断优势,把一些"医院的广告"放到前面来,担心微软利用windows不痛不痒的升级,胁迫硬件设备商被动跟进-总之,欧盟在反抗美国企业方面正不遗余力,热情高涨.如果站在法律角度讲,微软们确实不该违背<反垄断法>的规定,他们付出10%的罚款也是咎由自取,但从技术.人性的角