Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing Verilog代码,用于从输入图像帧计算行数和列数_Image Processing_Verilog - Fatal编程技术网

Image processing Verilog代码,用于从输入图像帧计算行数和列数

Image processing Verilog代码,用于从输入图像帧计算行数和列数,image-processing,verilog,Image Processing,Verilog,我遇到了verilog模块的问题,它是一个非常大的CMOS相机图像代码的一小部分。该模块接收clk和reset作为输入,并输出hsync、vsync、pixclk和像素数据。该代码读取图像并将其保存到内存中,然后执行一系列if else语句,如: if (row_count<NUM_ROWS-1) && (col_count< NUM_COLS) begin vsync <=1; hsync <=1 ; pixe_data <= mem[

我遇到了verilog模块的问题,它是一个非常大的CMOS相机图像代码的一小部分。该模块接收clk和reset作为输入,并输出hsync、vsync、pixclk和像素数据。该代码读取图像并将其保存到内存中,然后执行一系列if else语句,如:

if (row_count<NUM_ROWS-1) && (col_count< NUM_COLS) 
begin 
 vsync <=1; 
 hsync <=1 ;
 pixe_data <= mem[row_count*NUM_ROWS+col_count];
end
else if
 ......

if(row\u count约束操作的非法操作数可能是由于
mem
的维度造成的。维度需要是常量,例如
reg[DATA\u SIZE-1:0]mem[row\u MAX*COL\u MAX-1:0];
您需要确定要处理的最大图像大小。如果最大尺寸不是
2**N
,则需要实施一些保护措施,例如,发出错误信号,不处理任何内容、截断图像或其他内容

我不知道如何在不编写自定义PLI的情况下找到未知图像尺寸的行和列。
$fscanf
可以读取图像数据,您很可能希望使用
%u
用于格式化组件。如果图像在文件本身中包含有关其尺寸的信息,则可以使用
$fscanf
$fread
提取信息


其他注意事项,从原始代码中剪掉它:

pixe_data <= mem[row_count*NUM_ROWS+col_count];

pixe_数据我假设使用文件实用程序仅用于测试台目的,并且DUT(主模块)将获得x和y分辨率。
pixe_data <= mem[row_count*NUM_COLS+col_count];