版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_46621272/article/details/126439519
System Verilog 视频缩放图像缩放 vivado 仿真
文章目录

//video_scale_down_near_testbench.sv
`timescale 1ns/100ps
module video_scale_down_near_testbench;
reg rst_n;
reg vclk;
reg frame_sync_n;
parameter RESET_PERIOD = 1000000.00;
parameter FRAME_H_PERIOD = 16*1000*1000; //16ms
parameter FRAME_L_PERIOD = 60*1000; //60us
parameter VIN_CLK_PERIOD_A = 10; //100MHz
initial vclk = 0;
always vclk = #(VIN_CLK_PERIOD_A/2.0) ~vclk;
initial begin
#0 frame_sync_n = 1;
#RESET_PERIOD frame_sync_n = 0; // 16.7ms 帧脉冲
while(1)
begin
#FRAME_L_PERIOD frame_sync_n = 1;
#FRAME_H_PERIOD frame_sync_n = 0;
end
end
initial begin
rst_n = 0;
#RESET_PERIOD
rst_n = 1;
end
logic [23:0] v1_dat;
logic v1_valid;
logic v1_ready;
logic [15:0] v1_xres;
logic [15:0] v1_yres;
logic [23:0] v2_dat;
logic v2_valid;
logic v2_ready;
logic [15:0] v2_xres;
logic [15:0] v2_yres;
parameter VIN_BMP_FILE = "vin.bmp";
parameter VIN_BMP_PATH = "../../../../../";
parameter VOUT_BMP_PATH = {VIN_BMP_PATH,"vouBmpV/"};//"../../../../../vouBmpV/";
bmp_to_videoStream #
(
.iBMP_FILE_PATH (VIN_BMP_PATH),
.iBMP_FILE_NAME (VIN_BMP_FILE)
)
u01
(
.clk (vclk),
.rst_n (rst_n),
.vout_dat (v1_dat), //视频数据
.vout_valid (v1_valid), //视频数据有效
.vout_ready (v1_ready), //准备好
.frame_sync_n (frame_sync_n), //视频帧同步复位,低有效
.vout_xres (v1_xres), //视频水平分辨率
.vout_yres (v1_yres) //视频垂直分辨率
);
video_scale_down_near u02
(
.vin_clk (vclk),
.rst_n (rst_n),
.frame_sync_n (frame_sync_n), //输入视频帧同步复位,低有效
.vin_dat (v1_dat), //输入视频数据
.vin_valid (v1_valid), //输入视频数据有效
.vin_ready (v1_ready), //输入准备好
.vout_dat (v2_dat), //输出视频数据
.vout_valid (v2_valid), //输出视频数据有效
.vout_ready (v2_ready), //输出准备好
.vin_xres (v1_xres), //输入视频水平分辨率
.vin_yres (v1_yres), //输入视频垂直分辨率
.vout_xres (v2_xres), //输出视频水平分辨率
.vout_yres (v2_yres) //输出视频垂直分辨率
);
bmp_for_videoStream #
(
.iREADY (7), //插入 0-10 级流控信号, 10 是满级全速无等待
.iBMP_FILE_PATH (VOUT_BMP_PATH)
)
u03
(
.clk (vclk),
.rst_n (rst_n),
.vin_dat (v2_dat), //视频数据
.vin_valid (v2_valid), //视频数据有效
.vin_ready (v2_ready), //准备好
.frame_sync_n (frame_sync_n), //视频帧同步复位,低有效
.vin_xres (v2_xres), //视频水平分辨率
.vin_yres (v2_yres) //视频垂直分辨率
);
// assign v2_xres = v1_xres-1;//*1.3;
// assign v2_yres = v1_yres-1;//*1.1; //0.13,0.22,0.32,0.41,0.52,0.61,0.83,0.99
logic [15:0] fn = 0;
always_ff@(negedge frame_sync_n)
begin
fn <= #1 fn + 1;
case(fn)
0: begin v2_xres <= #1 v1_xres/1 - 0; v2_yres <= #1 v1_yres/1 - 0; end
1: begin v2_xres <= #1 v1_xres/1 - 1; v2_yres <= #1 v1_yres/1 - 1; end
2: begin v2_xres <= #1 v1_xres/2 + 1; v2_yres <= #1 v1_yres/2 + 1; end
3: begin v2_xres <= #1 v1_xres/2 + 0; v2_yres <= #1 v1_yres/2 + 0; end
4: begin v2_xres <= #1 v1_xres/2 - 1; v2_yres <= #1 v1_yres/2 - 1; end
5: begin v2_xres <= #1 v1_xres/3 + 1; v2_yres <= #1 v1_yres/3 + 1; end
6: begin v2_xres <= #1 v1_xres/3 + 0; v2_yres <= #1 v1_yres/3 + 0; end
7: begin v2_xres <= #1 v1_xres/3 - 1; v2_yres <= #1 v1_yres/3 - 1; end
8: begin v2_xres <= #1 v1_xres/5 + 1; v2_yres <= #1 v1_yres/5 + 1; end
9: begin v2_xres <= #1 v1_xres/5 + 0; v2_yres <= #1 v1_yres/5 + 0; end
10: begin v2_xres <= #1 v1_xres/5 - 1; v2_yres <= #1 v1_yres/5 - 1; end
11: begin v2_xres <= #1 v1_xres/7 + 1; v2_yres <= #1 v1_yres/7 + 1; end
12: begin v2_xres <= #1 v1_xres/7 + 0; v2_yres <= #1 v1_yres/7 + 0; end
13: begin v2_xres <= #1 v1_xres/7 - 1; v2_yres <= #1 v1_yres/7 - 1; end
default : $stop;
endcase
end
endmodule
原始 960x540 图片
临近缩小 2:1 480x270 图片
双线性缩小 2:1 480x270 图片,可以对比临近缩小图中间的文字部分
原始 160x120 图片
临近1:5 放大800x600 图片
双线性1:5 放大800x600 图片
椒盐降噪效果拼图
原始月亮环形山图片
锐化后月亮环形山图片
本仿真工程文件下载,采用 Xilinx vivado 2017.4 版本
system verilog vivado 图像视频缩放代码,仿真工程
system verilog vivado 图像视频缩小代码,仿真工程
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path
动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/
我正在使用Dragonfly在Rails3.1应用程序上处理图像。我正在努力通过url将图像分配给模型。我有一个很好的表格:{:multipart=>true}do|f|%>RemovePicture?Dragonfly的文档指出:Dragonfly提供了一个直接从url分配的访问器:@album.cover_image_url='http://some.url/file.jpg'但是当我在控制台中尝试时:=>#ruby-1.9.2-p290>picture.image_url="http://i.imgur.com/QQiMz.jpg"=>"http://i.imgur.com/QQ
我对图像处理完全陌生。我对JPEG内部是什么以及它是如何工作一无所知。我想知道,是否可以在某处找到执行以下简单操作的ruby代码:打开jpeg文件。遍历每个像素并将其颜色设置为fx绿色。将结果写入另一个文件。我对如何使用ruby-vips库实现这一点特别感兴趣https://github.com/ender672/ruby-vips我的目标-学习如何使用ruby-vips执行基本的图像处理操作(Gamma校正、亮度、色调……)任何指向比“helloworld”更复杂的工作示例的链接——比如ruby-vips的github页面上的链接,我们将不胜感激!如果有ruby-
Organization和Image具有一对一的关系。Image有一个名为filename的列,它存储文件的路径。我在Assets管道中包含这样一个文件:app/assets/other/image.jpg。播种时如何包含此文件的路径?我已经在我的种子文件中尝试过:@organization=...@organization.image.create!(filename:File.open('app/assets/other/image.jpg'))#Ialsotried:#@organization.image.create!(filename:'app/assets/other/i
默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同