代码改变世界

图像处理基本算法-直方图均衡

2011-12-13 00:00 by libing64, 624 阅读, 0 推荐, 收藏, 编辑
摘要:直方图是多种空间处理技术的基础,可以用于图像增强。同时在其他的处理方法中也十分有用,比如图像压缩和分割。基本的原理:Ni = 255*(N0 + N1 + N2 +……Ni)/(width*height)程序流程:1、统计各个像素值的个数2、建立映射表3、赋予新值处理后图像:源代码:#include<cv.h> #include<highgui.h> int main(){ IplImage * image; image = cvLoadImage("E:\\image\\pollen.jpg",0); cvNamedWindow("ima 阅读全文

图像处理基本算法-比特分层

2011-12-12 23:08 by libing64, 1126 阅读, 0 推荐, 收藏, 编辑
摘要:图像处理核心那是算法,至于使用OpenCV还是matlab还是MFC,现在看来真的都无所谓下面是对一张灰度图片进行比特分层,看一下一张图片的8bit共有几个bit是真正起作用的,这对以后的图像压缩具有很大的指导意义。matlab源码:A =imread('huidu.bmp') A1 = A subplot(3,3,1) imshow(A) for n = 1:8 for i = 1:256 for j = 1 :256 if(A(i,j) > 8*2^(n-1) && A(i,j) < 8*2^n ) A1(i,j) = A(... 阅读全文

图像处理基本算法

2011-12-12 22:17 by libing64, 709 阅读, 0 推荐, 收藏, 编辑
摘要:使用openCV进行图像处理,总感觉并不能真正的理解图像处理的核心内容,因此我感觉对图像处理的理解才是关键。基本的反色操作,主要是了解OpenCV对图像数据的操作方式:指针如下:unsigned char * ptr;//定义指针for(int i = 0 ;i < img->height;i++){ptr= (unsigned char*)img->imageData+ i*img->widthStep;//根据偏移获取数据for(int j = 0 ; j< img->width; j++){*(ptr+3*j) -= 20;*(ptr + 3* j+1 阅读全文

TQ2440按键

2011-12-10 21:54 by libing64, 230 阅读, 0 推荐, 收藏, 编辑
摘要:LED对应的IO口为GPB的5678口按键对应的IO口为GPF的0123口平台:RealView MDK#include<S3C2440.h> void delay() //延时函数 { int i, j; for(i = 0; i < 10000; i ++) for(j = 0; j < 50; j ++); } int main() { unsigned long data; GPBCON = 0x155555; //配置protB的所有引脚为输出 GPFCON = 0x00; //配置GPF所有位为输入 while(1) { GPBDAT |= 0x1E0; / 阅读全文

大小写字母转换-汇编

2011-12-09 12:28 by libing64, 1548 阅读, 0 推荐, 收藏, 编辑
摘要:汇编语言中一般的格式为:1、定义数据段和代码段2、确认数据段和代码段,但是并未指明数据段的地址3、程序一开始先指明数据段的地址4、开始程序编写5、程序结束时要调用程序终止的终断,否则程序无法正常终止/************************************/一段小例程,演示汇编语言的基本格式,实现8位数字的加法/*********数据段定义**********/data segmenta db 129Db db 130Dsum DW ?data ends/***********************************/code segmentassume DS:dat. 阅读全文

linux下使用DNW下载镜像-TQ2440

2011-12-07 14:29 by libing64, 638 阅读, 0 推荐, 收藏, 编辑
摘要:linux下串口通信-TQ2440常见另一篇博客:http://blog.csdn.net/renshengrumenglibing/article/details/7049471本人使用的Ubuntu10.04开发板是TQ2440在网上找到一个dnw for Linux。共享给大家(secbulk目录下是PC端USB驱动, dnw目录是下载工具)效果图:1.首先解压缩文件:# tar xvf dnw_for_linux.tar.gz另:在ubuntu下右键解压也很方便2.然后切换到下面的目录,编译usb驱动模块:# cd dnw_for_linux/secbulk# make -C /lib 阅读全文

linux下与TQ2440进行串口通信

2011-12-07 13:25 by libing64, 239 阅读, 0 推荐, 收藏, 编辑
摘要:windows下进行串口通信,如果是笔记本的话一般需要安装PL2303的驱动,win7的话经常会无法识别,非常烦人。其实linux下也有串口的驱动,默认已经安装了Pl2303.本人使的是ubuntu10.04效果图:一、安装minicom控制台指令:# sudo apt-get install minicom自动完成部分:*************************************正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成将会安装下列额外的软件包:lrzsz下列【新】软件包将被安装:lrzsz minicom共升级了 0 个软件包,新安装 阅读全文

ARM学习-TQ2440

2011-12-04 15:33 by libing64, 476 阅读, 0 推荐, 收藏, 编辑
摘要:最近开始学习ARM9,使用TQ2440,但是发下板子太新了,现成的资料很少啊,学起来比较费劲。但是没办法啊,慢慢搞吧。先列一些要学的内容,参考亚嵌培训的内容吧嵌入式系统概述与ARM简介 1 ARM处理器与其他体系结构处理器异同比较 2 ARM芯片选型 3 ARM外围硬件设计 4 ARM程序和算法 5 ARM操作系统(uC/OS-II/ARMLinux/uCLinux/WinCE)ARM知识体系 1 ARM的特点(体系结构/流水线/异常处理/寄存器组织) 2 ARM内核概述(内核命名/应用内核/嵌入式内核/安全内核) 3 ARM内核系列ARM结构与编程 1 ARM的工作模式 2 ARM存储器格式 阅读全文

TQ2440使用定时器产生PWM,控制蜂鸣器发声

2011-12-01 22:27 by libing64, 1172 阅读, 0 推荐, 收藏, 编辑
摘要:GPBCON:引脚配置寄存器GPBUP:端口使能上拉寄存器 GPBDAT:端口数据寄存器TCFG0:配置两个8位预分频器TCFG1:5路多路选择器和DMA模式选择寄存器TCNTB0: 定时器0计数缓冲寄存器TCMPB0: 定时器0比较缓冲寄存器TCON: 定时器控制寄存器2440有两个8位预分频器0,1共用一个2,3,4共用另外一个,每个定时器都有一个可以生成5种不同分频信号(1/2,1/4,1/8,1/16和TCLK)的时钟分频器。8位预分频器是可编程的,并且按存储在TCFG0和TCFG1寄存器中的加载值来分频PCLK。定时器输入时钟频率由TCFG0与TCFG... 阅读全文

opencv新手注意

2011-11-29 21:00 by libing64, 365 阅读, 0 推荐, 收藏, 编辑
摘要:注意事项1 看如下代码:CvScalar s = cvScalar(20.0);由于opencv不是真正的类,因此构造函数和类名不一致,构造函数的首字母是小写的!!!!!opencv乃是用C写的,因此尽管含有类的思想,但是不是类,而是结构,不是构造函数,而是内联函数。注意字母的大小写~2 如果仅是采用opencv而使用C语言编写程序,注意变量的定义在C语言中只能在每一个函数的开头,不能像C++一样在函数的任何位置都可以定义变量~3 既然C++是基本完全兼容C的,而C++类的特性又十分适合编写大型的程序,完全可以用C++来编写程序,只需新建文件的时候文件后缀名改为.CPP即可。4 在受用open 阅读全文