基础知识 复数表示 C = R + jI 极坐标:C = |C|(cosθ + jsinθ) 欧拉公式:C = |C|ejθ 有关更多的时域与复频域的知识可以学习复变函数与积分变换,本篇文章只给出DFT公式,性质,以及实现方法 二维离散傅里叶变换(DFT) 其中f(x,y)为原图像,F(u,v)为傅里叶变换以后的结果,根据欧拉公式可得,每个F(u,v)值都为复数,由实部和虚部组成 代码示例 void dft(short** in_array, double** re_array, double*…
图像内插 假设一幅大小为500 * 500的图像扩大1.5倍到750 * 750,创建一个750 * 750 的网格,使其与原图像间隔相同,然后缩小至原图大小,在原图中寻找最接近的像素(或周围的像素)进行赋值,最后再将结果放大 最邻近内插法 寻找最近的像素赋值 双线性内插法 v(x,y) = ax + by + cxy + d 双线性内插法参数计算 已知Q11, Q12, Q21, Q22,要插值的点为P点,首先在x轴上,对R1,R2两个点进行插值 然后根据R1和R2对P点进行插值 化简得 对于…
学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简单分析动态二维数组,若有不足或错误之处,还请指出! 在讲这之前,以一维数组为例,先重新认识一下数组: int array[5] = {1, 2, 3, 4, 5}; 首先数组名称是该数组的首地址常量,即数组名称就是指针,就有&array[0] == array! 那么我们可以推出*array ==…
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间. 正文: 首先,我引用了谭浩强先生编著的<C程序设计>上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅): [原文开始] 可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如…
clc,clear all,close all; load woman; [c,s]=wavedec2(X,2,'haar');%进行2尺度二维离散小波分解.分解小波函数haar %多尺度二维离散小波重构(逆变换) Y=waverec2(c,s,'haar'); figure; subplot(1,2,1),imshow(X,map),title('原始图像'); subplot(1,2,2),imshow(Y,map),title('重构图像'); a1=wrcoef2('a',c,s,'ha…
clc,clear all,close all; load woman; %单尺度二维离散小波分解.分解小波函数haar [cA,cH,cV,cD]=dwt2(X,'haar'); %单尺度二维离散小波重构(逆变换) Y=idwt2(cA,cH,cV,cD,'haar'); figure; subplot(1,2,1),imshow(X,map),title('原始图像'); subplot(1,2,2),imshow(Y,map),title('重构图像'); clear all;close…
对X进行N尺度小波分解 [C,S]=wavedec2(X,N,'wname'); clc,clear all,close all; load woman; [c,s]=wavedec2(X,2,'db1');%进行2尺度二维离散小波分解.分解小波函数-db1 [cH1,cV1,cD1]=detcoef2('all',c,s,1);%尺度1的所有方向的高频系数 [cH2,cV2,cD2]=detcoef2('all',c,s,2);%尺度2的所有方向的高频系数 cA1=appcoef2(c,s,'…
clc,clear all,close all; load woman; [cA,cH,cV,cD]=dwt2(X,'haar');%单尺度二维离散小波分解.分解小波函数haar figure,imshow(X,map),axis image; figure; subplot(2,2,1),imshow(uint8(cA));axis off;title('低频系数图像'); subplot(2,2,2),imshow(uint8(cH));axis off;title('水平高频系数图像');…
相关软件参见:混沌数学之离散点集图形DEMO 相关代码: // http://wenku.baidu.com/link?url=yg_gE7LUXCg2mXRp-ZZdfRXXIkcNj8YOhvN7dKLJxzWIu6M0g33-W3y3culjalCYfNc5VQefVJEiEwi_woXP69H8W4x-bF22nIRnD2lsn53 // 二维离散电路混沌系统 class CircuitChaotic : public DiscreteEquation { public: Circuit…
免费二维码生成途径非常多!比如比较有名的草料二维码,如果只是简单的使用,用它就足够了.但是如果想大规模的生成,那就不太合适了.再者很多工具都没办法在二维码中加入logo(像微信二维码一样). 接下来,我就说说如何快速的.高质量的生成一个可高度定制的二维码. 二维码的编码算法是公开的,这就意味着大部分的开发语言都可以动图生成.但是在二维码应用如此广泛的今天,还自己去造轮子,如果不是傻,那就是正真的技术极客了. Java有开源的二维码生成库:com.google.zxing,这是谷歌大佬为andro…