FPGA实现图片翻转旋转

简介: 笔记

图像大小为100 * 100

代码的实现过程都一样,也就是地址的初值和递进值不同,较为简单,就直接给出地址改变的相关代码了

左旋转90°

always@(posedge clk_9M or negedge rst)
begin
  if(rst == 1'b0)
    rom_addr <= 'd0;
  else  if(cur_y > 'd150)
    rom_addr <= 'd0;
  else if(active == 1'b1)
    begin
      rom_addr <= rom_addr + 'd100;
    end
  else
    rom_addr <= 'd149-cur_y;
end

右旋转90°

always@(posedge clk_9M or negedge rst)
begin
  if(rst == 1'b0)
  rom_addr <= 'd0;
  else  if(cur_y > 'd150)
  rom_addr <= 'd0;
  else if(active == 1'b1)
  begin
    rom_addr <= rom_addr - 'd100;
  end
  else
  rom_addr <= 'd9900 + (cur_y-'d50);
end


水平翻转

always@(posedge clk_9M or negedge rst)
begin
  if(rst == 1'b0)
  rom_addr <= 'd0;
  else  if(cur_y > 'd150)
  rom_addr <= 'd0;
  else if(active == 1'b1)
  begin
    rom_addr <= rom_addr + 1'b1;
  end
  else
  rom_addr <= 100 *(149-cur_y);
end

公众号:FPGA之旅

目录
相关文章
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
185 0
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
|
编解码 测试技术 Serverless
助力全站WebP ,阿里云云上FPGA 团队发布 WebP图片解决方案
阿里云 WebP 图片解决方案的软件部分由联捷计算科技(CTAccel)提供,再整合上阿里云自身的FaaS (FPGA as a Service) 弹性计算平台,形成了完整的阿里云 WebP 图片解决方案。
7772 0
|
3天前
|
算法 计算机视觉 异构计算
基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证
该内容展示了FPGA实现图像累积直方图的算法。使用Vivado2019.2和matlab2022a,通过FPGA的并行处理能力优化图像处理。算法基于像素值累加分布,计算图像中像素值小于等于特定值的像素个数。核心代码为`test_image`模块,读取二进制图像文件并传递给`im_hist`单元,生成直方图和累积直方图。
|
6天前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
21 7
|
1月前
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
28 2
|
1月前
|
算法 异构计算
m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件
m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件
28 5
|
1月前
|
存储 缓存 算法
基于FPGA的二维DCT变换和逆变换verilog实现,包含testbench
基于FPGA的二维DCT变换和逆变换verilog实现,包含testbench

热门文章

最新文章