【基于FPGA的图像处理工程】边缘检测工程之伽马矫正模块代码解析
2023-07-31 07:17:14 来源:哔哩哔哩
【基于FPGA的图像处理工程】
(资料图片)
—边缘检测工程:伽马矫正模块代码解析
本文为明德扬原创文章,转载请注明出处!
本模块的功能是,接收输入的像素数据,进行伽马校正之后输出。
一、设计架构
1、架构图
下图为本模块的架构图。
上图所示,输入的像素数据din是由R、G、B三部分组成,经过数据分解电路将其分开,其中din[15:11]表示R的值,赋值给din_r;din[10:5]表示G的值,赋值给din_g;din[4:0]表示B的值,赋值给din_b。三个RAM中存储的是像素的颜色数据对应的伽马矫正之后的数据,din_r、din_g、din_b分别作为ram_r、ram_g、ram_b的地址,对应的输出dout_r、dout_g、dout_b即是伽马校正之后的颜色数据,将三个数据经过数据拼接电路重新按照R、G、B的顺序拼接起来得到的dout,就是对应输入的像素数据伽马校正之后的数据。
2、RAM
上图为RAM的地址“address”与输出“q”的关系,在RAM中,一个地址就对应一个数据,假设地址0对应的数据是0、地址1对应数据是1、地址2对应数据是2,这样以此类推,然而在实际输出的时候可以发现,输入相应的地址后,“q”是在下一个时钟周期的时候输出对应的值,也就是输入经过ram之后会有一个时钟的延时。那么为了实现dout_vld、dout_sop、dout_eop等指示信号的作用,输入的din_vld、din_sop、din_eop就要经过时序逻辑延时一个时钟才能赋值给输出的对应的信号。
二、信号的意义
三、参考代码
下面展出本模块的设计源代码:
module mdyGamma(
clk ,
rst_n ,
din ,
din_sop ,
din_eop ,
din_vld ,
dout ,
dout_sop ,
dout_eop ,
dout_vld
);
input clk ;
input rst_n ;
input [15:0] din ;
input din_sop ;
input din_eop ;
input din_vld ;
output[15:0] dout ;
output dout_sop ;
output dout_eop ;
output dout_vld ;
wire [4:0] din_r ;
wire [5:0] din_g ;
wire [4:0] din_b ;
wire [5:0] dout_r ;
wire [6:0] dout_g ;
wire [5:0] dout_b ;
reg [4:0] dout_r_ff0 ;
reg [4:0] dout_r_ff1 ;
reg [5:0] dout_g_ff0 ;
reg [5:0] dout_g_ff1 ;
reg [4:0] dout_b_ff0 ;
reg [4:0] dout_b_ff1 ;
reg dout_vld_ff0;
reg dout_sop_ff0;
reg dout_eop_ff0;
reg dout_vld ;
reg dout_sop ;
reg dout_eop ;
assign din_r = din[15:11];
assign din_g = din[10:5];
assign din_b = din[4:0];
ram_r u_ram_r(
.clock (clk),
.address ({1'b0,din_r}),
.q (dout_r)
);
ram_g u_ram_g(
.clock (clk),
.address ({1'b0,din_g}),
.q (dout_g)
);
ram_b u_ram_b(
.clock (clk),
.address ({1'b0,din_b}),
.q (dout_b)
);
assign dout = {dout_r[4:0],dout_g[5:0],dout_b[4:0]};
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
dout_vld_ff0 <= 0;
dout_vld <= 0;
dout_sop_ff0 <= 0;
dout_sop <= 0;
dout_eop_ff0 <= 0;
dout_eop <= 0;
end
else begin
dout_vld <= din_vld;
dout_sop <= din_sop;
dout_eop <= din_eop;
end
end
endmodule
复制代码 明德扬专注FPGA研究,我司正在连载两本书籍: 《基于FPGA至简设计法实现的图像边缘检测系统》(&tid=691)、《ASIC和FPGA时序约束理论与应用》(&tid=705),有兴趣点击阅读。
[责任编辑:]
相关阅读
- (2023-07-31)【基于FPGA的图像处理工程】边缘检测工程之伽马矫正模块代码解析
- (2023-07-31)法国驻尼日尔大使馆遭袭
- (2023-07-31)八月新能源车交成绩单,线索先思考
- (2023-07-31)日喀则数字藏品亮相ChinaJoy
- (2023-07-31)我国打造清洁能源高地 展现“新”速度
- (2023-07-31)重点色英短怎么配出来(英短蓝白配重点色)
- (2023-07-31)不卖情怀!这5款成分、使用感都在线的“国货洁面”,值得推荐
- (2023-07-31)直击河北强降雨:一日三发暴雨红色预警 20座大中型水库正预泄
- (2023-07-31)国家金融监督管理总局天津监管局推动天开园开设首家银行网点开业
- (2023-07-31)怎样选择婴儿奶粉_选择婴儿奶粉方法
- (2023-07-31)宁夏回族自治区乡 镇农业机械管理服务组织的规定(关于宁夏回族自治区乡 镇农业机械管理服务组织的规定简述)
- (2023-07-31)江苏常州成立首个资源环境行业党建联盟
- (2023-07-31)美国免费大片有哪些好看电影
- (2023-07-31)shader model_shader model 3 0
- (2023-07-31)南昌工学院怎么样?就业前景 南昌工学院怎么样
- (2023-07-31)线速度与转速计算公式是什么 线速度与转速计算公式
- (2023-07-31)致敬孙杨!决赛1500米的世界纪录线仿佛出现了孙杨的影子!
- (2023-07-31)2023年香港青少年体育交流团(贵州站)活动落幕
- (2023-07-31)cf跳舞 cf跳舞枪叫什么
- (2023-07-31)歇后语画蛇添足的后面是什么(歇后语画蛇添足的下一句是什么)
- (2023-07-31)我市开展暑期文旅市场集中执法检查行动
- (2023-07-31)宋尚节牧师讲道视频全部 宋尚节牧师讲道视频
- (2023-07-31)勾股数的定义是啥(勾股数的定义)
- (2023-07-31)警探号丨站在齐膝盖深水中疏导交通、雨中搬落石 暴雨里北京民警在值守
- (2023-07-31)电动车出口需要危包证吗
- (2023-07-30)犯挪用公款罪会被判几年
- (2023-07-30)两位音乐“大咖”今天来到长宁,为居民“弹讲”民乐名曲
- (2023-07-30)wwweeewe(wwweebbk)
- (2023-07-30)上海斯诺克大师赛 2023(2019世界斯诺克上海大师赛简介)
- (2023-07-30)北京强降雨持续一天!119共接防汛警情69起