西电VHDL期末设计解析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL数字系统设计与测试 题 目 图像LSB嵌入和检测 学 院 通信工程学院 学 号 姓 名 一 设计要求与功能 、 利用 vhdl 语言设计一个图像处理系统,可完成以下功能 ( 1)嵌入功能:可将一幅 256x256 的彩色图像转为 8 位灰度图像,然后在 该灰度图像的LSB比特面随机嵌入三个不同的二值序列; 最后,将嵌入水印 序列的灰度图像恢复为彩色图像。 (2)检测功能:输入任意彩色图像,可从对应灰度图像的 LSB平面检测 上述三个序列 ( 3)三个序列为 序列 1: 01101 序列 2: 10101 序列 3: 11001 ( 4)输入端口包括三个坐标值信号,分别作为三个序列嵌入的起始位置 二 设计思路 本设计采用自上而下的设计思路,根据设计要求将整体分解为 8 个子模块: 文件读入模块,,LSB嵌入模块,随机数产生模块,序列检测模块, VGA?示模 块,主控模块。文件读入读出模块可暂借 MATLABt理,随机数产生模块,重点 LSB嵌入模块:对相应的像素点进行模 2运算得到最低位和相应序列进行比较。 逐层描述并进行功能仿真 (基于 QuartusII 综合仿真平台 ) ,最终实现硬件实现 (硬件实现有待后续完成)。 三 原理图说明 CLK 图1总体设计方案 端口 Clk:时钟信号 端口 En:使能控制信号 ROMK块:存储器,负责临时文件信息的存储 嵌入LSB模块:负责取出LSB矩阵,并嵌入随机序列,再还原为彩色矩 阵存入ROM 端口 XY:随机嵌入的序列起始坐标 文件读入模块:负责将指定的图片转为数字矩阵,由于技术原因本文暂用 matlab中的imread函数代替该功能。 检测模块:负责利用状态机查找灰度LSB平面矩阵中是否嵌入有序列, 01101, 10101 , 11001,对应abc输出端口为1 (有)或者0 (无) 端口 a, b, c:检测出序列01101-----a 为高反之为0 检测出序列10101-----b为高反之为0 检测出序列11001-----C为高反之为0 不同序列的状态图如下 图2 01101状态机转换图 图3 101010状态机转换图 图4 110010状态机转换图 VGAM示模块:负责还原前后的图像显示 VGA 输出端口: r,g,b : out STD_LOGIC;-- 颜色信号 hs,vs : out STD_LOGIC;-- 行同步、场同步信 号 随机数产生模块:产生随机数列作为检测模块的输出数据 四子模块说明 1)文件读入模块: 利用Matlab工具imread函数将256*256彩色图片转为txt格式色值矩阵, 存入rom中。 2)LSB嵌入模块: entity Insert is port(clk:in std_logic; 一时钟信号 en:in std_logic; -使能信号,控制嵌入进程的开始与结束 X1 , Y1 , X2 , Y2, X3, Y3 : in integer range 1 to 256); ―随机嵌入序列的三组起 始位置(X1 , y1) ,(X2 , Y2), (X3 , Y3) end entity; architecture behavior of Insert is signal IN_data, OUT_data:matrix; file Infile:TEXT IS IN D:\qianru.txt; --MATLAB 转为灰度图像的矩阵的文本文件 1 file Outfile:TEXT IS OUT D:\shuchu.txt;-- 嵌入之后的灰度图像的矩阵的文本文件 2 signal Pin:std_logic:=0; signal Pout:std_logic:=0; begin p1:process(clk) --将文件 1 读入 variable line_in:LINE; variable int_v:integer:=0; begin if(clkevent and clk=1) then -- 读入过程 if (en=0) then for i in 0 to row-1 loop readline(Infile,line_in); for j in 0 to col-1 loop read(line_in,int_v);IN_data (i,j)=int_v; end loop; end loop; Pin=1 after 10ns; end if; end if; end process p1; p2: PROCESS(Pin) --image data processing --嵌入过程 variable i1:integer:=S1; variable j1:integer:=T1; variabl

文档评论(0)

zhuifengshaonian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档