11 2012 档案
摘要:还是关于图像格式上的东西。使用了libjpeg库将jpeg图像转换到bmp格式。解压原理还是相对复杂的,将来有机会说不定会详细介绍。这里只是库的使用而已。 首先需要下载libjpeg库,网址在这里:http://www.ijg.org/ 然后需要配置环境,我是在windows下用vs2010搞的,编译库可以参考这篇文章。编译出jpeg.lib就可以了。当然实际编程还需要相应的头文件,头文件在下载的文件中。 如果不想编译就在这下载吧:http://vdisk.weibo.com/s/jpiMs 下面是相应的例程,只能将24位彩色图和8位深度图的jpg转换到bmp。#include <...
阅读全文
摘要:自从上一次写了bmp文件格式分析,后来是准备马上就写程序了,谁知后来就忘了,昨天突然想起来就将其写了出来。 程序的功能是将彩色图转灰度图,中间彩色和灰度的文件header都用到了,程序的流程我想我写的还是比较清楚的。没有用到Windows下的某些函数,在Linux下应该也能运行。#include <iostream>#include <fstream>using namespace std;#pragma pack(2) //两字节对齐,否则bmp_fileheader会占16Bytestruct bmp_fileheader{ unsigned short b...
阅读全文
摘要:做图像处理,最耗时间的运算应该就是卷积运算那一步了。以后如果有机会在用c++做图像处理的项目的话,那么这个卷积部分还是要优化的。Matlab因为是验证算法,其实是没必要优化的。所以我就把卷积这一部分单独列出一个函数,用汇编实现了。我可是电子工程出身,汇编当然不在话下。 函数是用汇编写的,用的是c++内嵌asm汇编,相同功能的c++代码也实现了,不过注释掉了,去掉注释能得到相同的结果。 读和显示图像用了opencv函数库,话说上一个项目结束之后好像就没怎么用过这个库了,毕竟,单单调用库中的函数是没办法真正理解原理的。#include <iostream>#include "
阅读全文
摘要:还是编程珠玑上的东西,作者对最初的算法稍微优化了一下。#include <iostream>#include <algorithm>#define N 10using namespace std;int binary_search(int *x,int n,int t) //x为要查找的数组,n为数组的大小,t为要找的值,找到则返回值的位置,否则返回-1{ int l=-1; //数组下界 int u=n; //数组上界 int p; //查找的值在数组中的位置 int m; //...
阅读全文
摘要:好久没看书了,随便拿来《编程珠玑》翻到第8章,介绍了一个叫求数组中最大子数组的算法,是线性的时间复杂度。 问题描述是具有n个浮点数的向量x,求向量中任何连续子向量的最大和。#include <iostream>using namespace std;int main(){ int x[10]={31,-41,59,26,-53,58,97,-93,-23,84}; int maxsofar=0; int maxendinghere=0; for (int i=0;i<10;i++) { maxendinghere=max(maxendinghe...
阅读全文
摘要:注:新方法移步这里 之所以要加1是因为这个还没有做完,这个只是按照自己的想法实现的,结果。。。果然是不行啊。 photoshop中的径向模糊算法我也不清楚,不过下面的对话框大致可以让人猜到一些: 看那个小方框就可以了,我感觉是photoshop只在黑色像素对应的地方进行模糊,其他的地方则不处理。我暂
阅读全文
摘要:在读入摄像头数据的时候,按下ctrl+x键,可以截取图像,就是这样一个功能。功能不多,但很有用。main.mclear all;close all;clc;global m; obj=videoinput('winvideo',1,'YUY2_320x240'); h1=preview(obj); %预览视频,同时获取句柄 h2=figure('KeyPressFcn',@keyPressFigure); %新建显示图像figure,同时获取句柄while ishandle(h1) && ishandl...
阅读全文
摘要:网上好多文章都好坑爹,配置麻烦死了,一点也不简洁,我这里给一个最简洁并且很好用的版本。clear all;close all;clc;obj=videoinput('winvideo',1,'YUY2_320x240'); %一般的家用摄像头第三个参数这样就可以,不能运行直接去掉第三个参数也可以h1=preview(obj); %预览视频,同时获取句柄 h2=figure(2); %新建显示图像figure,同时获取句柄while ishandle(h1) && ishandle(h2) ...
阅读全文
摘要:做meanshift物体跟踪的时候中间有一步叫做直方图反向投影,所以我就先实现了这样一个步骤。 直方图反向投影说白了就是模板匹配,给定一个较小的目标模板,然后再逐个遍历原图像和模板图像相同的图像块的,对比图像块和模板的直方图,然后把比较结果存入一个新的图像中,新图像中的全局极值就是模板在原图像中所在
阅读全文
摘要:听名字好像很牛B的样子,其实就是一个函数imcrop()的使用而已。 程序如下:close all;clear all;clc;img=imread('lena.jpg');imshow(img);imgn=imcrop(); %这里把要裁剪的图像框出来figure;imshow(imgn) %显示裁剪的图像
阅读全文
摘要:关于这个meanshift,一来可以用来作为目标跟踪,二来可以用来进行图像聚类。我这里只实现了图像聚类,当然,是按自己的理解编写的程序。至于目标跟踪将来一定也是要实现的,因为我最初看这个算法的原因就是想用他来跟踪目标的。 meanshift的基本原理我就不介绍了,比起我的介绍,网上有不少牛人们比我解
阅读全文
摘要:PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下: 这里的MAX通常是图像的灰度级,一般就
阅读全文
摘要:其实就生成加密文件这种事情是有违自己的人生哲学的,不过作为一个技巧倒也无所谓了,反正我自己是不会对代码加密什么的(半年前做kinect项目的时候,我就很不情愿的把代码加密了)。 代码就下面一句话: pcode yourfile.m 生成的 yourfile.p就是你的加密文件,别人是看不到代码的,调用和m文件调用一样。
阅读全文
摘要:这个算法是Lee和Seung在1999年发表在nature杂志上的。具体论文看这里:http://www.seas.upenn.edu/~ddlee/Papers/nmf.pdf。 看不懂英文没关系,可以看这个中文的介绍:http://wenku.baidu.com/view/94c8af0bf78
阅读全文
摘要:其实在matlab中调用系统函数fspecial和imfilter这两个函数就能很简单的实现动感模糊,不过我可不想就这样简单的实现,所以就自己从头写了。动感模糊最复杂的就是构造卷积矩阵了,卷积矩阵由两个参数决定,模糊半径r和模糊角度theta,通过这两个参数,就能构造不同的模板矩阵,而图像卷积时则和
阅读全文
摘要:这里载入的图片和tex源文件是在一个目录下的,居中最好用centerline,我试了试center和centering,好像都不行。什么begin{figure},end{figure}好像也都不行。代码如下:\documentclass{cctart}\usepackage{graphicx} %载入图形包\begin{document}\section{第一章}LaTeX(LATEX,音译“拉泰赫”)是一种基于TeX的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发。\par\centerline{\includegraph...
阅读全文
摘要:\documentclass{article} \usepackage{ctex} %载入中文包排版效果:
阅读全文
摘要:\documentclass{cctart}
阅读全文
摘要:这两天帮一个老师修改论文的格式,真是深深的体会到用word在修改论文时的难处啊。所以我就想自己将来写论文什么的,要是这样修改还不把自己累死了,所以就搜到了Latex这样一款替代软件,与其说是替代,不如说这就是正统的论文排版软件呢。所以呢,我想以后也要对这个软件好好学习一番,学到什么新的技巧一般都会在这里记录一下的,所以本标签下大多数文章都会是简单的介绍加代码注释这样的形式的。 下面是最基本的论文题目,作者,再加两三句话来熟悉这个软件用的hello world:\documentclass{cctart}\begin{document}\title{Latex编程}\author{李四 \...
阅读全文
摘要:这里所谓的方框模糊呢,其实就是以前自己很熟悉的均值滤波。原理就是将当前像素为中心,以半径r四周的(2*r+1)^2个像素求平均再赋值给当前像素就可以啦。这个实在是没什么可解释的了,都是很简单的东西。下面是代码: clear all; close all; clc; r=5; img=imread('
阅读全文
摘要:关于表面模糊的文章我是搜遍互联网只找到下面这两篇: 1.http://bbs.redocn.com/viewthread.php?tid=274838&extra=&page=1 2.http://blog.csdn.net/maozefa/article/details/7710321 第一篇原理
阅读全文
摘要:我真是弱爆了,我原来以为边界处理用我上一篇的方法就能很好的处理了,结果效果并不好。我只是和标准的imfilter函数进行了比较,其实imfilter函数还有一些参数我没用上,比如‘replicate’,'symmetric'等,如果加上这些参数,我的效果就比不上matlab的效果了,所以这次不用上一
阅读全文
摘要:我们在写滤波程序时一般会用矩阵模板与原图像做卷积,这时候在做图像边界的处理是一般都选择忽略边缘,不过要是模板比较大,那么处理的效果就不好了,图像四周就会是原图像,中间才是滤波后的结果,虽然用Matlab的imfilter就能解决,不过还是自己通过滤波的原理实践一下比较好。 模板和图像一共有如下16种
阅读全文