摘要: DCT变换的基本思路是将图像分解为8×8的子块或16×16的子块,并对每一个子块进行单独的DCT变换,然后对变换结果进行量化、编码。随着子块尺寸的增加,算法的复杂度急剧上升,因此,实用中通常采用8×8的子块进行变换,但采用较大的子块可以明显减少图像分块效应。在图像压缩中,一般把图像分解为8×8的子块,然后对每一个子块进行DCT变换、量化,并对量化后的数据进行Huffman编码。DCT变换可以消除图像的空间冗余,Huffman编码可以消除图像的信息熵冗余。DCT 是无损的,它只将图像从空间域转换到变换域上,使之更能有效地被编码。对一个图像子块而言,将对变换 阅读全文
posted @ 2013-04-09 08:53 boys2012 阅读(6134) 评论(0) 推荐(1) 编辑
摘要: Run-Time Check Failure #2 一般是栈被破坏,代码可能有缓冲区溢出一类的问题。Run-Time Check Failure #2 - Stack around the variable 's' was corruptedThis problem is caused when you try to write too much data to a particular memory address. Typical causes are writing more to a string buffer than you have room for.可能会有以下 阅读全文
posted @ 2013-04-07 13:00 boys2012 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 作者:zwlforever原文:http://blog.csdn.net/zwlforever/article/details/65275191.首先创建一个Win32 DLL动态链接库,称为SampleLib添加一个头文件”sampleLib.h”,在文件中输入程序源代码,如下:#ifndef LIB_H #define LIB_H extern "C" int __declspec(dllexport) add(int x,int y); #endif// 在文件SampleLib.cpp : 定义 DLL 应用程序的导出函数。 //#include "std 阅读全文
posted @ 2013-03-22 09:22 boys2012 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 使用Matlab很是方便,当然c是目前最流行的语言,所以对他们的混合编程是重要的。看到相当一部分攻略,感觉用动态库的形式是最方便的。用Matlab调用动态库是需要头文件和动态库,并且保证导出的动态库文件名不能改变,在头文件的最后还要有换号(否则会出现NOnewling的错误)要保证导出名字不改变则需要使用*.def文件。下面用自己练习的实例展示:vc6.0建立建立动态库工程,在test.cpp_declspec(dllexport)intadd(inta,intb){returna+b;}_declspec(dllexport)intsubtract(inta,intb){returna-b; 阅读全文
posted @ 2013-03-22 09:20 boys2012 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: MATLAB取整函数1)fix(x) : 截尾取整.>> fix( [3.12 -3.12])ans = 3 -3(2)floor(x):不超过x 的最大整数.(高斯取整)>> floor( [3.12 -3.12])ans = 3 -4(3)ceil(x) : 大于x 的最小整数>> ceil( [3.12 -3.12])ans = 4 -3(4)四舍五入取整>> round(3.12 -3.12)ans = 0>> round([3.12 -3.12])ans = 3 -3MATLAB中四个取整函数具体使用方法如下:Matlab取 阅读全文
posted @ 2013-03-19 20:59 boys2012 阅读(873) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_4936c31d01014qwo.html总结matlab中函数定义的一些内容: 1, 函数定义格式 在matlab中应该做成M文件,文件名要和你文件里的function后面的函数名一致在File新建一个M-file 在M-file里编辑函数格式为:function [输出实参表]=函数名(输入实参数)注释部分 函数体语句 return语句(可以有可以没有)如果是文件中的子函数,则可以任意取名,也可以在同一个文件中定义多个子函数例: 1 function [max,min]=mymainfun(x) %主函数 2 3 n... 阅读全文
posted @ 2013-03-13 21:39 boys2012 阅读(2199) 评论(0) 推荐(0) 编辑
摘要: /* File name: bmpTest.c Author: WanChuan XianSheng Date: Oct 01, 2011 Description: Show all Info a bmp file has. including FileHeader Info, InfoHeader Info and Data Part. Reference: BMP图像数据的C语言读取源码*/#include <stdio.h>#include <stdlib.h>#define BITMAPFILEHEADERLENGTH... 阅读全文
posted @ 2013-03-13 08:15 boys2012 阅读(859) 评论(0) 推荐(0) 编辑
摘要: BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。所以,目前BMP在单机上比较流行。BMP文件格式分析 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础 阅读全文
posted @ 2013-03-13 08:01 boys2012 阅读(1979) 评论(0) 推荐(0) 编辑
摘要: clear all;clc;R=uint8(rand(512));I = imread('E:\\2012\\The standard image\\Lena.bmp');figure(1)imshow(I);title('原始图像');figure(2)imhist(I);title('原始图像直方图');I = bitshift(I,-1);I = bitshift(I,1);I = bitor(I,R);figure(3);imshow(I);title('LSB替换图像满嵌');figure(4);imhist(I);ti 阅读全文
posted @ 2013-03-13 07:45 boys2012 阅读(629) 评论(0) 推荐(0) 编辑
摘要: MATLAB中的数据写入函数dlmwritedlmwrite功能简介将矩阵写入ASCII分隔的文件。使用方法1.dlmwrite(filename, M)使用默认的分隔符(')将矩阵M写入ASCII格式的文件中。在目标文件filname中,数据是从第一行的第一列开始写的。输入的filename是使用单引号括起来的字符串。matlab2.dlmwrite(filename, M, 'D')matabc将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第一行的第一列开始写的。逗号'是默认的分隔符,使用\t来产生 阅读全文
posted @ 2013-03-12 23:26 boys2012 阅读(10606) 评论(0) 推荐(0) 编辑