《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:

Slides:



Advertisements
Similar presentations
对本书、视频等任何 MATLAB 问题,作者做到有问必答! 你买的不仅仅是书,更是一种 “ 有问必答 ” 的服务!
Advertisements

政治全球化 促進國際間的了解, 抑或加劇了種族、宗教、文化和政 治實體之間的衝突 ?. 政治全球化 指一個國家或國際的政治事務,由一國或少數國家決定的模 式,逐漸過渡至複雜的跨國以至全球決策模式 政治活動和政治決策跨越國家界限.
全国青少年科技创新大赛 科技辅导员项目组织与实施
第三章 图像处理技术 第三章 多媒体图像处理技术.
第八章 收益分配决策补:案例,习题 本章结构、主要内容、重点难点: 收益分配的原则;程序 收益分配的政策: 影响股利的因素 股利政策的种类
屏東監理站電腦筆試e化系統 考生操作使用說明及注意事項.
湖南省科学技术奖励 推荐工作要求.
在系統完成資料填報後 系統產生所有表件請全數印出 如下載的表件為「空白」文件,請安裝PDF中文字型 ★系統參考畫面:
五年級上學期 體育課教學方案 設計者:吳文芳.
广东省高新技术企业培育库入库企业认定(第二批)工作介绍
文学名作与影视改编 郁达夫文学作品及相关影视赏析 授课教师 胡芳.
三重有情、修德有愛 2003/12/24.
新闻摄影基础知识.
吉林省科学技术奖的设置 申报及推荐程序 吉林省科学技术奖评审程序 推荐书录入说明及注意事项
甄選入學招生 第二階段集體及個別報名系統 系統開放時間:102/6/3 10:00~ 102/6/7 17:00止
Photoshop简介 Photoshop是美国Adobe公司开发的数字图像处理软件,是世界上第一流的图像设计与制作工具。
二○一五年度 上海市科学技术奖推荐工作要求 上海市科学技术奖励中心
关注空巢老人的心理健康 525宿舍.
第四章 计算机系统基础知识(70) 4.1考点分析 4.2计算机硬件基础知识 4.3计算机软件基础知识 4.4多媒体基础知识.
Chapter 2: Digital Image Fundamentals
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
动态链接库 多线程 文件操作 注册表 多媒体编程 Winsock编程(网络编程) 数据库.
網頁圖檔簡介 動畫製作 動態HTML效果 網頁上傳
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32-UCOS》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32-UCOS》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
數位影像壓縮 技術簡介 第四組 陳孝賢.
第1章 图像处理基本知识 本章简介: 本章将主要介绍图像处理的基础知识,包括位图与矢量图、图像尺寸与分辨率、文件常用格式、图像色彩模式等。通过对本章的学习,可以快速掌握这些基础知识,有助于更快、更准确地处理图像。
1 功能.
数字图像处理(一).
第二章 图像和视觉基础 图象处理的研究需要了解人类视觉机理: 人们能够区分的光强度差别有多大?
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
第8章 DCT与JPEG编码 JPEG(Joint Photographic Experts Group联合图象专家组)是(ITU的前身)国际电话与电报咨询委员会CCITT与ISO于1986年联合成立的一个小组,负责制定静态图像的编码标准 1992年9月JPEG推出了ISO/IEC 10918标准(CCITT.
第 3 章 圖文並茂— 在文件中加入圖片 著作權所有 © 旗標出版股份有限公司.
图像DCT变换 《信息隐藏实验教程》教学幻灯片 五.
图像压缩标准JPEG.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
全文检索 墨香简介 平台功能 产品优势 产品对比
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
中汇会计师事务所(特殊普通合伙)无锡分所
107年 國中教育會考 准考證資料處理系統 學校版 (集體報名單位) 操作說明
108新課綱教學目標與特色 (一)強化務實致用 (二)落實課程連貫 (三)深化基本職能 (四)符應產業需求 考招連動配套 部定實習科目
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
教科版六年级下册第一单元第4课 怎样放得更大 莲都区天宁小学 陈建秋.
發展88水災重建區特色學校說明會 年5月 黃海倫 處長. 發展88水災重建區特色學校說明會 年5月 黃海倫 處長.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
国家职业资格全国统一鉴定管理系统 照片采集标准及操作规程 河南凯若管理培训中心 河南华盛职业培训学校 孙爱芳 制作.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
第3章 数字编码 3.1 信源编码 3.2 信道容量 3.3 差错控制编码 3.4 几种差错控制编码简介 3.5 数字压缩编码
鋼液冶煉製程介紹.
2015 我爱永志我的家 摄影作品征集活动 2015年08月.
服務教育組 歡迎您.
新疆维吾尔自治区高校科研计划项目网络管理平台项目申报操作指南
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
第二章 数字图像处理基础 2.1 图像数字化技术 2.2 数字图像类型 2.3 图像文件格式 2.4 色度学基础与颜色模型.
新疆维吾尔自治区高校科研计划项目网络管理平台项目申报操作指南
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
大學考招新方案與銜接配套措施 【十二年國民基本教育課程綱要宣講】 教育部 大學招生委員會聯合會 108 年 9月.
Presentation transcript:

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 开源电子网 公众平台:“正点原子” 官方网站:www.alientek.com 联系电话:13922348612 ddddd ALIENTEK 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 《手把手教你学STM32》 照相机实验(OV2640) 适用平台 STM32F1xx 开发板 (正点原子) STM32F4xx 开发板 (正点原子) ddddd 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

本视频重点参考资料 参考资料: 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1,探索者STM32F407开发板 《STM32F4开发指南-库函数版本》——摄像头实验 《STM32F4开发指南-库函数版本》——照相机实验 2,图片编解码参考资料 见光盘:软件资料图片编解码 ① BMP图片文件详解.pdf ② JPEG压缩编码标准.pdf 关于OV2640&DCMI的介绍,请大家参考:摄像头实验!!本例程不再讲解。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 目录 BMP&JPEG编码简介 1 硬件连接 2 源码讲解&例程测试 3 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-什么是BMP? BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,文件后缀名为“.bmp”,使用非常广。它采用位映射存储格式,除了图像深度可选以外,一般不采用其他任何压缩,因此,BMP文件所占用的空间很大,但是没有失真。BMP文件的图像深度可选1bit、4bit、8bit、16bit、24bit及32bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

1、BMP&JPEG编码简介-BMP组成 典型的BMP图像文件由4部分组成: 4,位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值; 关于BMP的详细介绍,请参考光盘的《BMP图片文件详解.pdf》。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP组成 ①BMP文件头(14字节):BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。BMP文件头结构体定义如下: //BMP文件头 typedef __packed struct { u16 bfType ; //文件标志.只对'BM',用来识别BMP位图类型 u32 bfSize ; //文件大小,占四个字节 u16 bfReserved1 ; //保留 u16 bfReserved2 ; //保留 u32 bfOffBits ; //从文件开始到位图数据(bitmap data)开始之间的偏移量 }BITMAPFILEHEADER ; 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP组成 ②位图信息头(40字节):BMP位图信息头数据用于说明位图的尺寸等信息。 BMP位图信息头结构体定义如下: typedef __packed struct { u32 biSize ; //说明BITMAPINFOHEADER结构所需要的字数。 long biWidth ; //说明图象的宽度,以象素为单位 long biHeight ; //说明图象的高度,以象素为单位 u16 biPlanes ; //为目标设备说明位面数,其值将总是被设为1 u16 biBitCount ; //说明比特数/象素,其值为1、4、8、16、24、或32 u32 biCompression ; //说明图象数据压缩的类型。其值可以是下述值之一: //BI_RGB:没有压缩; //BI_RLE8:每个象素8比特的RLE压缩编码,压缩格式由2字节组成 //BI_RLE4:每个象素4比特的RLE压缩编码,压缩格式由2字节组成 //BI_BITFIELDS:每个象素的比特由指定的掩码决定。 u32 biSizeImage ; //说明图象的大小,以字节为单位。当用BI_RGB格式时,可设置为0 long biXPelsPerMeter ; //说明水平分辨率,用象素/米表示 long biYPelsPerMeter ; //说明垂直分辨率,用象素/米表示 u32 biClrUsed ; //说明位图实际使用的彩色表中的颜色索引数 u32 biClrImportant ; //说明对图象显示有重要影响的颜色索引的数目, //如果是0,表示都重要。 }BITMAPINFOHEADER ; 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP组成 ③颜色表:颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色,如下所示: typedef __packed struct { u8 rgbBlue ; //指定蓝色强度 u8 rgbGreen ; //指定绿色强度 u8 rgbRed ; //指定红色强度 u8 rgbReserved ; //保留,设置为0 }RGBQUAD ; RGBQUAD结构数据的个数由biBitCount来确定:当biBitCount=1、4、8时,分别有2、16、256个表项;当biBitCount大于8时,没有颜色表项。 BMP文件头、位图信息头和颜色表组成位图信息(我们将BMP文件头也加进来,方便处理),BITMAPINFO结构定义如下: typedef __packed struct { BITMAPFILEHEADER bmfHeader; BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; }BITMAPINFO; 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP组成 ④位图数据:记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图一个像素值所占字节数: 当biBitCount=1时,8个像素占1个字节; 当biBitCount=4时,2个像素占1个字节; 当biBitCount=8时,1个像素占1个字节; 当biBitCount=16时,1个像素占2个字节; 当biBitCount=24时,1个像素占3个字节; 当biBitCount=32时,1个像素占4个字节; biBitCount=16,即高彩色(65K色)。当biCompression=BI_RGB(0),则采用RGB555格式,最高位恒为0;当biCompression= BI_BITFIELDS(3),则在原来调色板位置用3个DWORD类型的掩码替换,分别代表红、绿、蓝三色的掩码,一般是: 0X7C00、0X03E0、0X001F。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP组成 我们采用16位BMP编码(因为LCD就是16位色的,而且16位BMP编码比24位BMP编码更省空间),故我们需要设置biBitCount的值为16,这样得到新的位图信息(BITMAPINFO)结构体 typedef __packed struct { BITMAPFILEHEADER bmfHeader; BITMAPINFOHEADER bmiHeader; u32 RGB_MASK[3]; //调色板用于存放RGB掩码 }BITMAPINFO; RGB_MASK[3],即颜色掩码,分别代表红、绿、蓝三色的掩码,分别是: 0X7C00、0X03E0、0X001F。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-BMP编码步骤 BMP编码(从LCD读取图像数据)步骤如下: 1)创建BMP位图信息,并初始化各个相关信息 首先,我们要设置BMP图片的分辨率为LCD分辨率、BMP图片的大小(整个BMP文件大小)、BMP的像素位数(16位)和掩码等信息。 2)创建新BMP文件,写入BMP位图信息 我们要保存BMP,当然要存放在某个地方(文件),所以需要先创建文件,同时先保存BMP位图信息,之后才开始BMP数据的写入。 3)保存位图数据。 这里就比较简单了,只需要从LCD的GRAM里面读取各点的颜色值,依次写入第二步创建的BMP文件即可。注意:保存顺序(即读GRAM顺序)是从左到右,从下到上。 4)关闭文件。 使用FATFS,在文件创建之后,必须调用f_close,文件才会真正体现在文件系统里面,否则是不会写入的!这个要特别注意,写完之后,一定要调用f_close。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-什么是JPEG? JPEG(Joint Photographic Experts Group)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。 JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。 JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-JPEG编码步骤 JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。 JPEG压缩编码分为三个步骤: 1)使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图。 2)使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。 3)使用霍夫曼可变字长编码器对量化系数进行编码。 JPEG的压缩编码过程比较复杂,这里我们就不多做介绍了,请大家参考:JPEG压缩编码标准.pdf 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-JPEG拍照过程 JPEG(直接从摄像头读数据)拍照步骤如下: 1)初始化STM32F4的DCMI接口和OV2640模块 首先,我们要初始化STM32的DCMI接口(包括开启DMA和相关中断)和相关IO,然后配置好OV2640输出JPEG数据流。 2)读取OV2640模块的数据 在DCMI接口的驱动下,有序读取OV2640输出的JPEG数据流,我们采用DMA双缓冲来接收JPEG数据流,并将这些数据及时搬运到外部SRAM(通过DMA的传输完成中断来处理)。 3)保存JPEG数据。 在采集完一帧JPEG数据后,利用fatfs,创建一个.jpg文件,然后将存储在外部SRAM的数组(以0XFF,0XD8开头)存储在这个文件里面,最后调用f_close关闭文件,即可实现JPEG拍照保存。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-JPEG拍照过程 在摄像头实验里面,我们定义了一个很大的数组jpeg_buf(124KB)来存储JPEG图像数据,不过,本例程我们要用到内存管理,其他地方也要用到一些数组,所以,肯定无法再定义这么大的数组了。 并且这个数组不能使用外部SRAM(实测:DCMI接口使用DMA直接传输JPEG数据到外部SRAM会出现数据丢失,所以DMA接收JPEG数据只能用内部SRAM),所以,本例程使用DMA的双缓冲机制来读取,DMA双缓冲读取JPEG数据框图如下图: 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 1、BMP&JPEG编码简介-JPEG拍照过程 DMA接收来自OV2640的JPEG数据流,首先使用M0AR(内存1)来存储,当M0AR满了以后,自动切换到M1AR(内存2),同时程序读取M0AR(内存1)的数据到外部SRAM;当M1AR满了以后,又切回M0AR,同时程序读取M1AR(内存2)的数据到外部SRAM;依次循环(此时的数据处理,是通过DMA传输完成中断实现的,在中断里面处理),直到帧中断,结束一帧数据的采集,读取剩余数据到外部SRAM,完成一次JPEG数据的采集。 这里,M0AR,M1AR所指向的内存,必须是内部内存,不过由于采用了双缓冲机制,我们就不必定义一个很大的数组,一次性接收所有JPEG数据了,而是可以分批次接收,数组可以定义的比较小。 最后,将存储在外部SRAM的jpeg数据,保存为.jpg/.jpeg存放在SD卡,就完成了一次JPEG拍照。 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 2、硬件连接-探索者STM32F4开发板 探索者STM32F407开发板,通过OLED/CAMERA接口与ATK-OV2640摄像头模块连接,硬件连接原理图如下: 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 3、源码讲解&例程测试-源码说明 探索者STM32F4开发板源码 光盘程序源码标准例程(库函数/寄存器)实验42 照相机实验 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 3、源码讲解&例程测试-关键代码介绍 1,bmp_encode函数 2, DCMI_DMA_Init函数 3, DMA2_Stream1_IRQHandler函数 4, jpeg_data_process函数 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 3、源码讲解&例程测试-main函数 main函数讲解 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 3、源码讲解&例程测试-例程测试 例程测试 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com

淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 谢谢您对“正点原子”团队的支持 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com 淘宝店铺:http://eboard.taobao.com 技术论坛:www.openedv.com