上一页 1 ··· 7 8 9 10 11
摘要: 重新取样将在您缩放图片时更改图像数据的数量。当缩减像素取样(减少像素的数量)时,将从图像中删除一些信息。当向上重新取样(增加像素的数量或增加像素取样)时,将添加新的像素。可以指定插值算法来确定如何添加或删除像素。1. 最近相邻插值算法/最近邻法最近相邻插值算法(NearestNeighbour Interpolation)一种速度快但精度低的图像像素模拟方法。该法针对于二维图像 “取待采样点周围4个相邻像素点中距离最近的 1个邻点的灰度值作为该点的灰度值”如图(1)。该方法用于包含未消除锯齿边缘的插图,以保留硬边缘并生成较小的文件。但是,缩放图片时,缺少的像素通过直接使用与之最接近的原有像素的 阅读全文
posted @ 2014-03-12 19:40 jianguo_wang 阅读(11439) 评论(0) 推荐(0) 编辑
摘要: RGB、Lab、YUV、HSI、HSV等颜色空间的区别RGB颜色空间RGB(red,green,blue)颜色空间最常用的用途就是显示器系统,彩色阴极射线管,彩色光栅图形的显示器 都使用R、G、B数值来驱动R、G、B 电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉 发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发送来 的光线中的R、G、B成分,并用它来表示原稿的颜色。RGB色彩空间称为与设备相关的色彩空间,因为不同 的扫描仪扫描同一幅图像,会得到不同色彩的图像数据;不同型号的显示器显示同一幅图像,也会有不同 的色彩显示结果。显示器和扫描仪使 阅读全文
posted @ 2014-03-12 17:09 jianguo_wang 阅读(2182) 评论(0) 推荐(0) 编辑
摘要: 图像金字塔被广泛应用于各种视觉应用中。图像金字塔是一个图像集合,集合中图像都源于同一个原始图像,而且是通过对原始图像连续降采样获得,直到达到某个中止条件才停止降采样。(当然,降为一个像素肯定是中止条件) --学习OpenCV中文版PyrDown图像的下采样void cvPyrDown( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );src输入图像.dst输出图像, 宽度和高度应是输入图像的一半 ,传入前必须已经完成初始化filter卷积滤波器的类型,目前仅支持 CV_GAUSSIAN_5x5函数 cvPyrDown 使.. 阅读全文
posted @ 2014-03-12 15:22 jianguo_wang 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 迭代器的概念除了在其它语言中司空见惯的下标法访问容器元素之外,C++ 语言提供了一种全新的方法——迭代器(iterator)来访问容器的元素。迭代器其实类似于引用,指向容器中某一元素。迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。我个人认为,迭代器的产生,主要是为了统一各类容器的穷举接口,因为各类容器中,只有 vectoer等少量容器模板支持通过下标访问。使用迭代器则不存在这个问题。C++ 标准库为每一种标准库类型提供了配套的迭代器类型。例如,std::vector::iterator 就是一种迭代器类型。迭代器分为普通迭代器和常量迭代器(const_iterator)。 阅读全文
posted @ 2014-03-11 22:11 jianguo_wang 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 在读研和工作之间徘徊了半年,看着一个个好友工作、保研,生活安排得井井有条,我也是时候收拾心情,整装前进了。既然选择了图像,就一定要好好做下去。 今天开始第一个算法,Vibe。 ViBe是一种像素级视频背景建模或前景检测的算法,效果优于所熟知的几种算法,对硬件内存占用也少,很简单。 阅读全文
posted @ 2014-03-11 15:47 jianguo_wang 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 图像的算术运算Mat类把很多算数操作符都进行了重载,让它们来符合矩阵的一些运算,如果+、-、点乘等。下面我们来看看用位操作和基本算术运算来完成colorReduce程序,它更简单,更高效。将256种灰度阶降到64位其实是抛弃了二进制最后面的4位,所以我们可以用位操作来做这一步处理。首先我们计算2^8降到2^n中的n:int n=static_cast(log(static_cast(div))/log(2.0));然后可以得到maskmask=0xFF planes;// 将image分为三个通道图像存储在planes中split(image,planes);planes[0]+=image2 阅读全文
posted @ 2014-03-11 15:41 jianguo_wang 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 图像的邻域操作很多时候,我们对图像处理时,要考虑它的邻域,比如3*3是我们常用的,这在图像滤波、去噪中最为常见,下面我们介绍如果在一次图像遍历过程中进行邻域的运算。下面我们进行一个简单的滤波操作,滤波算子为[0 –1 0;-1 5 –1;0 –1 0]。它可以让图像变得尖锐,而边缘更加突出。核心公式即:sharp(i.j)=5*image(i,j)-image(i-1,j)-image(i+1,j)-image(i,j-1)-image(i,j+1)。void ImgFilter2d(const Mat &image,Mat& result){ result.create(im 阅读全文
posted @ 2014-03-11 15:29 jianguo_wang 阅读(1186) 评论(0) 推荐(1) 编辑
摘要: 遍历图像的4种方式一、at(i,j)Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函数,可以取到任何类型的图像上的点。下面我们通过一个图像处理中的实际来说明它的用法。在实际应用中,我们很多时候需要对图像降色彩,因为256*256*256实在太多了,在图像颜色聚类或彩色直方图时,我们需要用一些代表性的颜色代替丰富的色彩空间,我们的思路是将每个通道的256种颜色用64种代替,即将原来256种颜色划分64个颜色段,每个颜色段取中间的颜色值作为代表色。void colorReduce(Mat& image,int div){ for(int i=0;i(i,j)[0]=image 阅读全文
posted @ 2014-03-11 15:16 jianguo_wang 阅读(358) 评论(0) 推荐(0) 编辑
摘要: C语言文件操作函数大全clearerr(清除文件流的错误旗标)相关函数 feof表头文件 #include定义函数 void clearerr(FILE * stream);函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。返回值 fclose(关闭文件)相关函数 close,fflush,fopen,setbuf表头文件 #include定义函数 int fclose(FILE * stream);函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。返回值 若关文件动作成功则返回0,有错 阅读全文
posted @ 2014-03-01 17:22 jianguo_wang 阅读(143) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11