- 浏览: 1407176 次
- 性别:
- 来自: 广州
最新评论
-
sdgxxtc:
[quo[color=red]te][/color]
C#使用OleDb读取Excel,生成SQL语句 -
zcs302567601:
博主,你好,一直都有个问题没有搞明白,就是 2.x的版本是通过 ...
NGUI所见即所得之UIPanel -
一样的追寻:
感谢楼主!
有向强连通和网络流大讲堂——史无前例求解最大流(最小割)、最小费用最大流 -
cp1993518:
感谢!从你的博客里学到了很多
Unity日志工具——封装,跳转 -
cp1993518:
学习了~,话说现在的版本custom还真的变委托了
NGUI所见即所得之UIGrid & UITable
文章列表
马上大四了,我也要找工作了,还记得今年7月7日我去参加了一个笔试,发现自己很菜,所以就想着要多学点东西,中途都没有去投过简历,一口气买了很多计算机的书(有人工智能,数据挖掘,linux的,信息检索,unix的还有云 ...
终于写完数字图像分割这部分内容了,由于内容比较多,因此做一个小的内容提要,有利于更有调理的阅读,如下:
1.数字图像分割方法概要 2.基于边界分割
2.1边缘检测
2.2边界提取(简单连接,启发式搜索,曲线拟合 ...
之前一直对C++内部的原理的完全空白,然后找到《Inside The C++ Object Model》这本书看了下, 感觉收获很大,因为书写得比较早,有些知识应该要更新,但是还是值得好好研读,由于该书的内容给人比较散的感觉,所以一直想找个时间整理一下,遂成此文,虽然都是抄书上的,但是却让我有了温故而知新的觉悟,附近里有三个好资料,一并共享了!2012年9月2日凌晨 4:31 谢谢 张雨生的歌声的相伴!
《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
第一章 关于对象
使用class封装之后的布局成本:
class并没有 ...
今天使用istream_iterator和copy将输入保存在vector的数组中,但是输入完之后就不能在使用cin进行输入了,如:cin>>input;这句总是不能被执行,原因是copy的结束是eof,也就是标准输入的结尾标记是istream_iterator<unsigned short>(),这个是被标记成一输入错误,后面的标准输入就不能进行下去了……
istream_iterator<unsigned short> is(cin);
istream_iterator<unsigned short> eof;
vec ...
template<class T>
void load(T t,string filename)
{
std::ifstream file(filename);
boost::archive::xml_iarchive ia(file);
ia >> BOOST_SERIALIZATION_NVP(t); // No size/range needed
}
在使用模板的时候如果有两个参数,则两个参数一定要使用模板,否则就会出现标题的错误。
图像锐化和边缘检测
本文内容构成:
1、图像锐化和边缘检测的基本概念,微分梯度已经差分的定义
2、锐化和边缘检测的像素处理方式(3种)
3、单方向一阶微分锐化,包括:
水平 ...
在进行图像处理的过程中,获取原始图像后,首先需要对图像进行预处理,因为在获取图像的过程中,往往会发生图像失真,使所得图像与原图像有某种程度上的差别。在许多情况下,人们难以确切了解引起图像降质的具体物理过程及其数学模型,但却能估计出使图像降质的一些可能原因,针对这些原因采取简单易行的方法,改善图像质量。图像增强一般不能增加原图像信息,只能针对一些成像条件,把弱信号突出出来,使一些信息更容易分辨。图像增强的方法分为频域法和空域法,空域法主要是对图像中的各像素点进行操作;而频域法是在图像的某个变换域内,修改变换后的系数,例如傅立叶变换、DCT 变换等的系数,对图像进行操作,然后再进行反变换得到处 ...
图像增强分为空域增强和频域增强,空域增强有灰度变换增强,直方图变换增强,平滑增强,中值滤波,模板滤波和高能滤波等,下面分别讲解。
r(x,y)是输入图像,s(x,y)是输出图像
T(.)是对图像的运算
如果求某个s(x0,
y0) , ...
图像的时频变换——离散余弦变换
- 博客分类:
- 数字图像处理
研究过离散傅里叶变换的,都会觉得离散余弦变换的会更简单,不过不知道为什么网上却没有像离散傅里叶变换那样多的介绍,还得下次找本书好好钻研,后再补充。
二维离散余弦变换的正变换公式为:
在图像的压缩编码中,N一般取8.
二维DCT的反变换公式为:
以上各式中的系数:
基于DCT的JPEG图像压缩编码理论算法 基于DCT编码的JPEG编码压缩过程框图,如图1所示。
图1 基于
一直很纳闷,几乎所有数字图像处理的书都会介绍数字时频变换,但是却很少书会讲时频变换的作用,这也是让我一直很疑惑的地方(不过也极有可能是本人愚钝)。频谱技术通常用于提高图像的处理操作速率,频谱相当于是图像的特征,时频变换虽然是一种数学技巧,但是运用到数字图像处理上会方便和简单。研究的图像变换基本上都是正交变换,正交变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像,这对图像的分析、存储以及图像的传输都是非常有意义的。这里介绍了离散傅立叶变换、离散余弦变换、沃尔什-哈达玛变换及小波变换的基本理论和知识并进行图像时频变换实验。
一、二维离散傅里叶变换
一个图 ...
一、放射变换
最为常用的几何变换都是线性变换,这包括旋转、缩放、切变、反射以及正投影。在二维空间中,线性变换可以用 2×2 的变换矩阵表示。
1.旋转变换
绕原点逆时针旋转 θ 度角的变换公式是 与 ,用矩阵表示为:
2.伸缩变换
一、彩色图像转变为灰度图像
将彩色图像进行灰度处理的原理就是使每个像素的RGB分量值都是相等的,调整后的RGB分量值可以有原来的RGB分量值按约定的比例来计算,这里采用等分的比例才计算灰度值,公式:Gray(i,j)=1/3(R(i,j)+G(i,j)+B(i,j)),当然也可以调整RGB分量的比例如Gray(i,j)=0.11*R(i,j)+0.59*G(i,j)+0.3*B(i,j),求出Gray值后,分别赋给对应像素的RGB分量,就能转变成灰度图像。
public int[] toGray(int[] pix, int iw, int ih)
{
Col ...
一、采样
采样就是指把时间域或空间域的连续量转化成离散量的过程。图像的采样其实就将多个像素用一个像素取代,每隔一定的间隔取一个像素。
我们首先要获得Image对象的数组,可以按下面进行:
PixelGrabber pg = new PixelGrabber(im, 0, 0, iw, ih, pix, 0, iw);
pg.grabPixels();
具体的细节可以查看java的帮助文档,这里强调一下pix就是返回的像素数组,是以默认的 RGB ColorModel 形式将像素存储到数组中。
具体的采样原理看到下面的程序就明白了(当然可以定义不用的采样细节,如 ...
图像的统计特性
图像的基本统计分析量如下:1.熵
一个 X 值域为{x1, ..., xn}的随机变量的熵值 H 定义为:,即熵的公式可以表示为:
上式我们取集合X为图像灰度值构成的集合,这样我们就可以得到图像灰度的熵值
2.灰度平均值,灰度中值已经灰度方差都能很容易得到3.直方图的计算
我们来看一个灰度图像,让
题目:求质因数只能是2,3,5,7的第n大个数。例如:1,2,3,4,5,6,7,8,910,12,14,15,16,18
方法一:循环判断每一个数(自然数序列)是否符合丑数的定义,直至第n个数。还有一种思想就是分别求出2,3,5,7指数的范围,然后用多重循环产生每一个数,然后进行排序。
方法二:使用优先队列的方法:每次出最小的一个数,并将这个数分别乘以2,3,5,7的四个数入队,直到出了n个数为止。
方法三:使用四叉树,根节点是1,三个子节点是2,3,5,7,代表对应边的权值,每个子节点又有三个子节点2,3,5,7。如果用完全三叉树,会出现重复路径,比如1->3->2, ...