在c++中“/”和“%”的妙用
来源:互联网 发布:ipad air2实用软件 编辑:程序博客网 时间:2024/05/22 17:06
一、要生成某个范围的随机数:
用rand()随机生成在[x,y]内的整数
int k;k=x+rand()%(y-x+1)/*即为所求范围内随机生成的数,rand()%a的结果最大为a-1*/
二、将一个区间的数映射到另一个区间
例:对每个元素的操作,也就是用table更改像素值。这里其实是做了个减小颜色空间的操作,这在一些识别之类的应用中会大大降低运算复杂度。类如uchar类型的三通道图像,每个通道取值可以是0~255,于是就有 256*256个不同的值。我们可以通过定义:
0~9 范围的像素值为 0
10~19 范围的像素值 为 10
20~29 范围的像素值为 20
。。。。。。
着这样的操作将颜色取值降低为 26*26*26 种情况。这个操作可以用一个简单的公式:
来实现,因为C++中int类型除法操作会自动截余。 类如 Iold=14; Inew=(Iold/10)*10=(14/10)*10=1*10=10;
在处理图像像素时,每个像素需要进行一遍上述计算也需要一定的时间花销。但我们注意到其实只有 0~255 种像素,即只有256种情况。进一步可以把256种计算好的结果提前存在表中 table 中,这样每种情况不需计算直接从 table 中取结果即可。
int divideWith=10; uchar table[256]; for (int i = 0; i < 256; ++i) table[i] = divideWith* (i/divideWith);
0 0
- 在c++中“/”和“%”的妙用
- c和java中sleep和yield的妙用
- C 和 Java 中sleep和yield的妙用
- C/C++中0的两个妙用
- C语言中字符串常量的妙用
- C/C++中宏的妙用
- c语言中assert函数的妙用
- C语言中函数的妙用
- 单片机C语言中define的妙用
- "/"和".."在CMD下的妙用
- 浅谈在BCB中数组的妙用和纪录和改变控件的状态
- STL中count和count_if的妙用
- 10030---springmvc中<c:set> / <c:remove>标签的妙用
- 【C++】:C++map的妙用之 计算字符串加和
- js中&&和||在赋值语句中的妙用
- 指针的妙用(C++)
- c语言中长度为0的数组妙用
- C/C++中do...while(0)的妙用
- QT 3D原来是这么个东西
- 锁优化学习总结(一)
- HDU-1331-Function Run Fun(记忆化搜索,dp)
- 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
- 排序算法:选择排序
- 在c++中“/”和“%”的妙用
- CSS Grid布局:合并单元格布局
- 详细介绍常用的线程同步互斥机制 关键段、事件、互斥量、信号量
- 作业系列 - 尝试编写SQL数据库(一)
- Leetcode 437. Path Sum III 路径和3 解题报告
- java基础之面向对象(一)
- 04测试开发面试题
- 51NOD 背包问题v2(动态规划)
- plsqL动态排序和查询写法