《学习OpenCV》练习题第三章第一题

学习opencv3中文版--第三章练习题答案 1. #include<opencv2/opencv.hpp> using namespace std; int main() { /* a.选择一个负的浮点数 b.计算它的绝对值,近似,向上取整,向下取整 */ //生成一个负的浮点数 Cv32suf f; f.f = -2.3; cout <<"负的浮点... 阅读详情
#include <highgui.h>
#include <cv.h>
#include <stdio.h>

#pragma comment (lib,"opencv_calib3d231d.lib")
#pragma comment (lib,"opencv_contrib231d.lib")
#pragma comment (lib,"opencv_core231d.lib")
#pragma comment (lib,"opencv_features2d231d.lib")
#pragma comment (lib,"opencv_flann231d.lib")
#pragma comment (lib,"opencv_gpu231d.lib")
#pragma comment (lib,"opencv_haartraining_engined.lib")
#pragma comment (lib,"opencv_highgui231d.lib")
#pragma comment (lib,"opencv_imgproc231d.lib")
#pragma comment (lib,"opencv_legacy231d.lib")
#pragma comment (lib,"opencv_ml231d.lib")
#pragma comment (lib,"opencv_objdetect231d.lib")
#pragma comment (lib,"opencv_ts231d.lib")
#pragma comment (lib,"opencv_video231d.lib")

#define RAND_INT_MAX 256

/*
 * 《学习OpenCV》第三章第一题
 * 完成时间:16:31 3/1 星期五 2013
 */
int main()
{
	/*------------------------------------*/
	// 选取一个负的浮点数
	float f = -3.589;

	// 取绝对值
	float abs_f = CV_IABS(f);

	// 四舍五入,取其极值
	int round_f = cvRound(abs_f);

	printf("absolute value: %f\n", abs_f);
	printf("round value: %d\n", round_f);
	/*------------------------------------*/
	CvRNG rng;
	rng = cvRNG(cvGetTickCount());

	// 产生10个随机整数和小数
	for(int i = 0; i < 10; i++)
	{
		printf("%d\trand integer: %d\t", i, (cvRandInt(&rng) % RAND_INT_MAX ));
		printf("rand floating: %.4f\n", cvRandReal(&rng));
	}
	/*------------------------------------*/
	// 将一个浮点型的CvPoint2D32f转换成一个整数型的CvPoint
	CvPoint2D32f point_2D32f = cvPoint2D32f(2.5, 3.5);
	CvPoint point = cvPointFrom32f(point_2D32f);

	printf("---------------------------------------\n");
	printf("CvPoint2D32f: %f\t%f\n", point_2D32f.x, point_2D32f.y);
	printf("Convert to CvPoint: %d\t%d\n", point.x, point.y);
	// 将一个整数型的CvPoint转换为浮点型的CvPoint2D32f
	CvPoint2D32f point_1 = cvPointTo32f(point);
	printf("Convert to CvPoint2D32f: %f\t%f\n", point_1.x, point_1.y);

	return 0;
}

运行结果:



相关记录:

a. cxtypes.h在OpenCV2.2.1中已经不存在了,相应的文件为“OpenCV2.2安装文件夹路径/opencv/build/include/opencv2/core/types_c.h”
--------------
绝对值宏定义
/* absolute value without jumps */
#ifndef __cplusplus
#define  CV_IABS(a)     (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0))
#else
#define  CV_IABS(a)     abs(a)
#endif
---------------
函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound 返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil 返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。
---------------
1. 一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法迭代产生随机数序列。
2. 随机数的“种子”就是产生随机数的第一次使用值,机制是通过一个比较复杂函数,将这个种子的值映射到随机数空间的某一个点上,并且产生的随机数均匀地(或者符合正态分布等)散步在空间中,以后产生的随机数都与前一个随机数有关。
3. RNG : random number generation   随机数生成
相关函数
1. CvRNG cvRNG(int64 seed);
   使用64位长整形种子,初始化随机数生成器状态。
   cvGetTickCount();
   返回64位长整形的时间数据,在opencv中是为CvRNG设置的专用种子。
2. unsigned cvRandInt(CvRNG* rng);
   返回均匀分布的随机32位无符号整型值,并更新RNG的状态 ; 使用模操作可以获得确定边界的整形数值。
3. double cvRandReal(CvRNG* rng);
   返回均匀分布的随即浮点数,范围在0-1(不含1),并更新RNG的状态。

《学习OpenCV》练习题第四章第六题 #include #include "opencv_libs.h" #include #define IMG_WIDTH 512 #define IMG_HEIGHT 512 /* *《学习OpenCV》第四章第六题 * 完成时间:9:32 4/5 星期五 2013 */ CvFont font; char *display_text = "|"; // 阅读详情

相关推荐

《学习OpenCV》练习题第二章第三题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1565

opencv入门一百题

Question7 平均值池化 这里,将图像网格分割(分成某个固定长度的区域),用画区域内(单元格)的平均值来填充该区域内的值。 这样分割网格,求出该区域内的代表值的操作被称为“Pooling”。 这些带环操作在CNN(Convolutional Neural Network中起着重要的作用。 这个由以下公式定义。这里所说的R是进行普林的区域。即,在3×3的区域进行普林。|R|=3x3=9。 v = 1/|R| * Sum_{i in R} v_i 在这里imori.jpg因为是128x128,所以将

weixin_43864650的博客 758

《学习OpenCV》练习题第二章第五题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1444

OpenCV经典100题

熟读OpenCV100题,了解OpenCV的底层原理

保持一颗敬畏之心,简单地调用C++,适当地向C++妥协,让以后的自己看懂代码,让别人看懂代码。 3090

《学习OpenCV》习题答案

经过VS2008调试的程序,学习OpenCV的习题答案

Learning OpenCV中文版 第4章练习题1-5

Learning OpenCV中文版 第3章练习题2-8的工程文件 里面含有后面习题的工程文件 内容都亲自测过,可行 大部分来源于网页

OpenCV训练题

【代码】OpenCV训练题。

m0_62060781的博客 637

opencv小项目练习,一共九个

包含九个项目,1.适用于Android的Cartoonifier和换肤器。2.iPhone或iPad上基于标记的增强现实技术。3.无标记增强现实。4.使用OpenCV从Motion探索结构。5.基于SVM和神经网络的车牌识别。6.非刚性人脸跟踪。7.使用AAM和POSIT进行3D头部姿态估计。8.使用特征脸或Fisherfaces进行人脸识别。9.使用Microsoft Kinect开发Fluid Wall。 Chapter1_AndroidCartoonifier Chapter2_iPhoneAR Chapter3_MarkerlessAR Chapter4_StructureFromMotion Chapter5_NumberPlateRecognition Chapter6_NonRigidFaceTracking Chapter7_HeadPoseEstimation Chapter8_FaceRecognition Chapter9_FluidInteractionUsingKinect

Opencv函数及练习题

【代码】Opencv函数及练习题。

m0_62060781的博客 411

ADS入门学习笔记——低噪声放大器(2)

1、输入匹配网络; 2、输出匹配网络;

weixin_42126696的博客 4990

Python爬虫实战:Playwright 攻克京东图书新书榜(含动态价格与分页)!

我长期专注 Python 爬虫工程化实战,主理专栏 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 592

opencv基本练习

opencv的基本使用

qq_43594227的博客 209

2026 MCM Problem A:智能手机电池连续时间建模——完整解题思路附第一问解题代码

摘要:本文针对2026年MCM A题"智能手机电池连续时间建模"问题,提出基于能量守恒原理的微分方程模型。通过建立以SOC(t)为状态变量的动态系统,将屏幕亮度、处理器负载等主要耗电因素纳入统一功率框架,实现了不同使用场景下的电量变化精确描述。研究表明,屏幕亮度和CPU负载对续航时间影响最大,温度与后台任务会产生放大效应。该模型具有物理可解释性和应用扩展性,为手机电源管理提供了理论依据。(150字)

一键难忘的博客 769

《学习OpenCV》练习题第三章第五题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1348

YOLOv8改进-bifpn

跨尺度连接通过添加一个跳跃连接和双向路径来实现,自此实现了加权融合和双向跨尺度连接。该结构是加权且双向连接的,即自顶向下和自底向上结构,通过构造双向通道实现跨尺度连接,将特征提取网络中的特征直接与自下而上路径中的相对大小特征融合,保留了更浅的语义信息,而不会丢失太多的深层语义信息。传统的特征融合时将尺度不同的特征图以相同权重进行加权,但是当输入的特征图分辨率不同时,以相同的权重进行加权对输出的特征图不平等。所以BiFPN根据不同输入特征的重要性设置不同的权重,同时反复采用这种结构来加强特征融合。

weixin_45303602的博客 8139

Android Input——输入系统介绍(一)

Input 系统对于提供流畅、灵敏和一致的用户交互体验至关重要,它需要在不同的设备、场景和应用中保证输入事件的正确性、及时性和安全性。Android 输入系统是一个复杂但高效的设计,旨在处理来自各种输入设备(如触摸屏、键盘等)的用户交互,并将这些交互转换为应用程序可以理解和响应的形式。EventHub:输入系统的最底层,直接与硬件通信,监听和读取输入设备的原始事件。:从 EventHub 获取原始输入事件,对其进行解析,转化为更高层次的事件,以便上层应用或服务能够理解。

小旭的专栏 1710

《学习OpenCV》练习题第三章第四题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1262

MeloTTS 生成 RKNN 模型

摘要: 本方案基于RK3588平台,利用RKNN工具链实现高效语音合成(TTS)。采用MeloTTS开源模型,支持中英文混合语音生成。部署流程包括:1) 导出ONNX模型;2) 转换为RKNN格式;3) 在RK3588开发板运行。关键步骤包含环境配置(RKNN Toolkit2≥1.4.0)、模型转换(非量化处理)及音频处理实现。方案充分发挥RK3588的NPU加速能力,适用于边缘设备语音合成场景

J。 346

《学习OpenCV》练习题第三章第八题b

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1215

【雷达】一维和二维自适应波束形成(DBF))DBF附matlab代码

1 简介 数字波束形成技术是天线波束形成原理与数字信号处理技术相结合的产物,其广泛应用于阵列信号处理领域.由于电磁工作环境的恶化和大量射频干扰的存在,在极低的信干噪比(SINR)条件下进行目标检测和信息提取十分困难.对于阵列系统,往往采用自适应数字波束形成(ADBF)技术,来抑制强干扰和方向性干扰对有用信号的影响.介绍了数字波束形成器的基本原理及其DSP的实现结构.​ 2 完整代码 clc;clear all;close all;%%%%%%%%%%%%%%%%%一维DBF%%%%%%%%%%%%%

qq_59747472的博客 7265

ICC2: 如何让CTS指定pin多长指定长度

这里create_clock不需要写到sdc里,在脚本里写就行,需要注意的是脚本里存在remove_clock_tree的话,add_buffer就要放remove_clock_tree后面,或者给guide buffer设don't touch也行。跟innovus的操作逻辑一样,如果要让tree上的某一点长长,要先考虑这个点后面的clock tree能正常balance。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?-5意味着长长5ns,相反正值意味着做短。

m0_61544122的博客 679

《学习OpenCV》练习题第四章第一题a

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1529

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《学习OpenCV》练习题第三章第七题

#include "opencv_libs.h" #include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragm

qdsclove的专栏 1414

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

《学习OpenCV》练习题第三章第二题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1252

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《学习OpenCV》练习题第二章第四题

#include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_features2d23

qdsclove的专栏 1151

《学习OpenCV》练习题第三章第六题

#include #include #include #pragma comment (lib,"opencv_calib3d231d.lib") #pragma comment (lib,"opencv_contrib231d.lib") #pragma comment (lib,"opencv_core231d.lib") #pragma comment (lib,"opencv_fe

qdsclove的专栏 1208
上一篇: 《学习OpenCV》练习题第二章第五题
下一篇: 《学习OpenCV》练习题第三章第二题
Stk_OverFlow
博客等级 码龄14年 27粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值