MUL

Opencv C++ 归一化

点点圈 提交于 2020-08-12 09:05:35
Opencv C++下的Mat归一化 void Mat_L2_mormal(cv::Mat &image) { //mat*mat, cv::Mat out; out=(image) .mul (image); float sum=0.0; for (int i=0;i<image.rows;i++){ sum=sqrt(cv::sum(out.row(i))[0]); image.row(i)=(image.row(i)/sum); } out.release(); } float scale = 0.0078125f ; float mean_value = 127.5f; void Mat_L2_mormal(cv::Mat &image) { for (int i = 0; i<image.rows; i++) { for (int j = 0; j<image.cols; j++) { image.at<Vec3b>(i, j)[0] = (image.at<Vec3b>(i, j)[0] - mean_value) * scale; image.at<Vec3b>(i, j)[1] = (image.at<Vec3b>(i, j)[1] - mean_value) * scale; image.at<Vec3b>(i, j)[2] = (image.at<Vec3b>

MSIL入门(一)C#代码与IL代码对比

爷,独闯天下 提交于 2020-08-12 06:39:52
基础概念 Microsoft中间语言(MSIL),也成为通用中间语言(CIL),是一组与平台无关的指令,由特定于语言的编译器从源代码生成。MSIL是独立于平台的,因此,他可以在任何公共语言基础架构支持特定的环境上执行。 通过JIT编译器将MSIL转换为特定计算机环境的特定机器代码。这是在执行MSIL之前完成的,同样,MSIL在需求的基础上转换为机器代码,既JIT编译器根据需要而不是整个MSIL进行编译。 公共语言运行时(CLR)中的执行过程:执行过程包括创建MSIL以及通过JIT编译器将MSIL转换为机器代码,如下所示: 在CLR的编译期间,特定于语言的编译器会将源代码转换为MSIL。此外,与MSIL一起,在编译中还会生成元数据。元数据包含诸如代码中类型的定义和签名,运行时信息等信息。 通过组装MSIL,可以创建一个公共语言基础结构(CLI)组装。该程序集基本上是用于安全性,部署,版本控制等已编译的代码库,它具有两种类型,进程程序集(EXE)和程序集(DLL)。 然后JIT编译器将Microsoft中间语言(MSIL)转换为特定于JIT编译器运行所在的计算机环境的机器代码。MSIL在需求的基础上转换器为机器代码,即JIT编译器根据需要而不是整个MSIL进行编译。 然后,由JIT编译器获得的机器代码由计算机的处理器执行。 打印字符串 static void Main(string[]

数学

非 Y 不嫁゛ 提交于 2020-08-12 01:19:24
感觉我所有博客也就这篇比较全了QAQ 引入:Q1:前n个数中最多能取几个,使得没有一个数是另一个的倍数    答案:(n/2)上取整 p.s.取后n/2个就好了    Q2:在Q1条件下,和最小为多少    答案:从n/2向前枚举,对于每个数,倍增考虑后面选的数有多少个是它的倍数,如果只有一个,就用当前数替换后面的那个 正文: 零、快速幂&线性筛 【是个人都会系列】   快速幂 int Pow( int a, int b) { int ans= 1 ; while (b> 0 ) { if (b% 2 == 1 ) ans=(ans*a)% p; b /= 2 ,a=(a*a)% p; } return ans% p; }   线性筛(可以用来筛所有积性函数)   P.S.积性函数:f(a)*f(b)=f(a*b)当且仅当a,b互质     完全积性函数:f(a)*f(b)=f(a*b)   P.S.常见的积性函数:       ①n的约数的k次幂的和 ∑ (d | n) (d^k)       ②约数个数       ③约数和       ④欧拉函数       ⑤莫比乌斯函数   P.S.因为算法是,质数&质数的整次幂暴力,其他的乘起来     所以必须有式子,且保证质数复杂度O(logn)以下,质数的整数次幂O(sqrt(n))以下才能保证线性 int n,cnt,pri

linux下多定时器+线程池的实现(经典)

谁说胖子不能爱 提交于 2020-08-12 00:40:58
linux只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理 这个实现允许用户使用多个自定义的定时器,每个自定义的定时器将周期地被触发直到其被删除。实现的主要思路是: i) 首先在初始化多定时器(init_mul_timer)时利用setitimer注册一个基本的时间单位(如1s)的定时事件 ; ii) 用户需要set_a_timer注册自定义定时器时,在timer_manage管理结构中记录这个定时器的回调函数和定时周期等参数 ; iii) 当基本的时间单位到期后(如SIGALRM信号到达时),遍历整个timer_manage,如果有自定义定时器的超时时间到了,就执行相应的回调函数,并将自定义定时器的超时时间置为最初值;否则将自定义定时器的超时时间相应地减一个基本的时间单位; iiii) 用户通过del_a_timer来删除某个定时器,通 过destroy_mul_timer来删除整个多定时器 。 来源: oschina 链接: https://my.oschina.net/u/4267221/blog/4399653

基于FPGA的16阶级联型iir带通滤波器实现

梦想的初衷 提交于 2020-08-11 11:50:57
警告 此文章将耗费你成吨的流量,请wifi下阅读,造成的流量浪费本人不承担任何责任。初版源代码获取(请勿用作他用,仅供学习):https://gitee.com/kingstacker/iir.git 若有问题可以联系我邮箱:kingstacker_work@163.com 版权所有,转载请注明出处。 感谢 感谢杜勇老师的书籍: 感谢杜勇老师不厌其烦的答复我的邮件垂询。 感谢自己,编代码调试眼睛快瞎了。。。。。 前言 这个课程设计做过一年多了,知识什么的差不多都忘记了,最近去面试直接就问项目,而且问得挺细,一脸懵逼,眼泪掉下来, 简历上写的项目你自己一定要说的明白 。 简历上写的项目你自己一定要说的明白 。 简历上写的项目你自己一定要说的明白 。 所以,又复习了一遍,当然更为娴熟也添加了新的东西。 基础知识: 什么叫滤波器? 简单的说,就像筛米,留下你需要的米,滤掉不需要的米头。过滤的功能。 什么叫数字滤波器? 用数字芯片做的滤波器,而不是rc搭的,输入是离散的序列,输出也是离散的序列; 快速了解时域频域: https://zhuanlan.zhihu.com/p/19763358?from=singlemessage&isappinstalled=1 什么叫时域? 信号随时间的变化。 什么叫频域? 曾经有个通俗的解释是:弹钢琴,琴键1234等表示的就是频域,产生的各种音乐就是时域

基于Modelsim的直方图均衡化算法仿真

北慕城南 提交于 2020-08-11 07:25:20
一、前言   本篇主要针对牟新刚编著《基于FPGA的数字图像处理原理及应用》中关于直方图 均衡化算法的功能仿真验证。2020-03-15 10:43:27 二、FPGA直方图均衡化算法原理   直方图均衡化又称为灰度均衡化,是指通过某种灰度映射使输入图像转换为在每一 灰度级上都有近似相同的输出图像(即输出的直方图是均匀的)。在经过均衡化处理后 的图像中,像素将占有尽可能多的灰度级并且分布均匀。因此,这样的图像将具有较高 的对比度和较大的动态范围,直方图均衡可以很好地解决相机过曝光或曝光不足的问题。   直方图均衡化计算步骤如下:   (1)首先计算出当前图像的直方图;   (2)其次计算像素直方图累计和; (3)将上式乘以灰度值的最大值; (4)将上式除以图像像素总数,我们也将后两步运算统称为归一化运算。    1.直方图累计和     直方图累加和的定义是小于指定像素的所有像素的统计值之和。    2.归一化计算      归一化计算的步骤是先乘以灰度最大值,然后再除以像素总数:              图像宽度x图像高度。 三、代码实现   代码包括直方图归一化计算文件hist_equalized、直方图累加和统计文件histogram_2d文件 及顶层文件hist_equal。   (1)histogram_2d.v文件中加入了累加和统计模块

GraphicsLab Project 之 Screen Space Planar Reflection

对着背影说爱祢 提交于 2020-08-11 05:12:40
作者:i_dovelemon 日期:2020-06-23 主题:Screen Space Planar Reflection, Compute Shader 引言 前段时间,同事发来一篇讲述特化版本的 Screen Space Reflection 实现 Planar Reflection 的文章。出于好奇,实验了下,看看效果如何。如下是目前实现出来的基础版本的效果: 原理 对于上图来说, Water Plane 表示水面,上半部分为实际场景的山体,下半部分为以水面为镜像进行反射之后的山体效果。 对于山体上某一个点(图中白色点)来说,它对应的镜像点为黄色点。 我们可以从 Screen Position 以及 Depth Texture 信息,计算出来白点的世界坐标位置 WorldPosition 。 然后可以以 Water Plane 所在的平面对该 WorldPosition 作镜像操作,得到 ReflectionPosition 。 得到 ReflectionPosition 之后,我们就能够计算出来 ReflectionPostion 所对应的屏幕坐标 Reflection Screen Position 。 根据前面的操作,我们就可以知道,此时 Reflection Screen Position 所反射的颜色即为 Screen Positon 所表示的颜色。

Go单元测试命令

↘锁芯ラ 提交于 2020-08-11 02:47:21
Go 语言推荐测试文件和源代码文件放在一块,测试文件以 _test.go 结尾。比如,当前 package 有 calc.go 一个文件,我们想测试 calc.go 中的 Add 和 Mul 函数,那么应该新建 calc_test.go 作为测试文件。 example/ |-- calc.go |--calc_test.go 假如 calc.go 的代码如下: 1 package main 2 3 func Add(a int , b int ) int { 4 return a + b 5 } 6 7 func Mul(a int , b int ) int { 8 return a * b 9 } 那么 calc_test.go 中的测试用例可以这么写: 1 package main 2 3 import "testing" 4 5 func TestAdd(t * testing.T) { 6 if ans := Add(1, 2); ans != 3 { 7 t.Errorf("1 + 2 expected be 3, but %d got" , ans) 8 } 9 10 if ans := Add(-10, -20); ans != -30 { 11 t.Errorf("-10 + -20 expected be -30, but %d got" , ans) 12 }

bzoj4772 显而易见的数论

被刻印的时光 ゝ 提交于 2020-08-10 06:48:26
题意: http://www.lydsy.com/JudgeOnline/problem.php?id=4772 sol :这个题卡了我一整天QAQ     出题人简直丧心病狂, 卡内存+卡常数QAQ    题意就是,给你一个整数,让你求所有整数划分的方案数的价值和,价值是个函数    长成这个样子:     ∑ 划分方案数    然后就是,考虑枚举pi和pj,如何算这个二元组在整数划分中出现的次数    记sum[i]为将i进行整数划分的方案数(实际操作时为避免数组下标为负所以将sum反向) sum[ 0 ]= 1 ; for ( int i= 1 ;i<=n;i++ ) { for ( int j= 1 ;j<=n;j++ ) { if (i== 1 ||j== 1 ) f[i][j]= 1 ; else if (i==j) f[i][j]=(f[i][j- 1 ]+ 1 )% p; else if (i<j) f[i][j]=f[i][j- 1 ]; else f[i][j]=(f[i-j][j]+f[i][j- 1 ])% p; } sum[i] = f[i][i]; }    当pi!=pj的时候,枚举pi和pj出现的次数muli,mulj,那么答案即为ans[pi][pj]+=sum[n-pi*muli-pj*mulj]    而当pi=pj时,同样枚举pi出现的次数

【数论】数论相关口胡

不问归期 提交于 2020-08-09 23:34:18
正经人谁学数论啊 持续更新。 右键数学公式 \(\rightarrow\) Math Settings \(\rightarrow\) Math Renderer \(\rightarrow\) SVG以获得更佳体验。 小学生数论,并不适合dalao 因为本人过于蒟蒻所以如果你想在这里学些什么的话还是算了 基本也就我自己看看 主题的锅导致标题分的不清楚,无语子 目录 目录 正经人谁学数论啊 目录 质数 Eratosthenes筛素数 线性筛素数 普通版 无需取模版 Miller_Rabin大素数判定 约数 GCD 辗转相除法求GCD 二进制方法求GCD 更相减损术求GCD 裴蜀定理 算数基本定理的推论 算数基本定理(唯一分解定理) 求正约数个数 线性筛求约数个数 约数和定理 线性筛求约数和 求正约数集合 试除法 倍数法 欧拉函数 性质 分解质因数求单个欧拉函数 Eratosthenes筛求欧拉函数 线性筛求欧拉函数 扩展欧几里得 非平凡因子 Pollard_Pho大数字质因数分解 同余 费马小定理 前置芝士 正文 欧拉定理 扩展欧拉定理 二次探测定理 Wilson定理 乘法逆元 费马小定理求逆元 欧拉定理求逆元 扩展欧几里得求逆元 线性求逆元 线性同余方程 中国剩余定理 中国剩余定理的扩展 组合数学相关 Catalan数 Lucas定理 莫比乌斯反演&&拉格朗日插值 质数