FPGA图像处理(四)------ 图像裁剪

复制代码
`timescale 1ns / 1ps
//
// Description:  图像裁剪算法
//
module image_crop(
   input wire clk,
   input wire reset,
   
   input wire [10:0] img_width,
   input wire [10:0] img_height,
   input wire [10:0] img_x_start,
   input wire [10:0] img_x_end,
   input wire [10:0] img_y_start,
   input wire [10:0] img_y_end,
   
   input wire valid_i,
   input wire [23:0] img_data_i,
   
   output reg valid_o,
   output reg [23:0] img_data_o
   );

    //参数声明
    reg [10:0] x_cnt_r; //行计数器
    reg [10:0] y_cnt_r; //列计数器

    //计数
    always@(posedge clk or posedge reset) begin
        if(reset) begin
            x_cnt_r <= 'b0;
            y_cnt_r <= 'b0;
        end else begin
            x_cnt_r <= valid_i ? ((x_cnt_r == img_width - 1) ? 0 : x_cnt_r + 1) : x_cnt_r;
            y_cnt_r <= valid_i&&(x_cnt_r == img_width - 1) ? ((y_cnt_r == img_height - 1) ? 0 : y_cnt_r + 1) : y_cnt_r;
        end
    end    
    
    always@(posedge clk or posedge reset) begin
        if(reset) begin
            valid_o <= 'b0;
            img_data_o <= 'b0;
        end else begin
            valid_o <= valid_i&&(x_cnt_r >= img_x_start)&&(x_cnt_r < img_x_end)&&(y_cnt_r >= img_y_start)&&(y_cnt_r < img_y_end) ? 1'b1 : 1'b0;
            img_data_o <= img_data_i;
        end
    end
    
endmodule

相关推荐
数字芯片实验室2 小时前
IP验证最终回归到时序级建模
网络·网络协议·tcp/ip·fpga开发
雨洛lhw2 小时前
三模冗余资源量对比
fpga开发·三模冗余技术
啊阿狸不会拉杆3 小时前
第 3 章 灰度变换与空间域滤波
图像处理·人工智能·机器学习·计算机视觉·数据挖掘·数字图像处理
XINVRY-FPGA4 小时前
XC7VX690T-2FFG1761I Xilinx AMD FPGA Virtex-7
arm开发·嵌入式硬件·fpga开发·硬件工程·fpga
FPGA_无线通信6 小时前
FPGA 组合逻辑和时序逻辑
fpga开发
Js_cold8 小时前
Xilinx FPGA温度等级及选型建议
fpga开发·fpga·vivado·xilinx
从此不归路9 小时前
FPGA 结构与 CAD 设计(第5章)上
fpga开发
洋洋Young9 小时前
【Xilinx FPGA】7 Series Clocking 设计
fpga开发·xilinx fpga
156082072199 小时前
FPGA下AD采集时钟相位的调整
fpga开发
从此不归路10 小时前
FPGA 结构与 CAD 设计(第5章)下
fpga开发