前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频处理之浮雕效果【附源码】

视频处理之浮雕效果【附源码】

作者头像
瓜大三哥
发布2020-06-09 11:28:43
3900
发布2020-06-09 11:28:43
举报
文章被收录于专栏:瓜大三哥瓜大三哥

浮雕效果概念

浮雕 是雕塑与绘画结合的产物,靠透视等因素来表现三维空间,并只供一面或两面观看。浮雕一般是附属在另一平面上的,因此在建筑上使用更多,用具器物上也经常可以看到。浮雕在我们现实生活中处处可见,尤其是中国古代的建筑浮雕众多。浮雕既是一种刻在砖、石壁或木头上的一种雕塑。

浮雕效果是将图像的变化部分突出的表现出来,而相同的颜色部分则被淡化掉,使图像出现纵深感,从而达到浮雕的效果。

算法原理

图像处理算法原理:newpixel(i,j) = pixel(i,j)-pixel(i,j+1)+TH

i为图像高度,j为图像宽度,pixel为当前图像像素点,TH为阈值(0-255)。相当于使用当前位置的像素值减去后一个像素的像素值,然后再加上一个阈值来实现。

FPGA实现

硬件框架

输入为VESA 的1080P标准时序,使用vio来控制阈值。硬件实现框图如下。

程序设计

代码语言:javascript
复制
`timescale      1ns/1ps

module  Emboss
#
(
    parameter           PIXELS_BIT      =   8   ,
    parameter           COLOR_CHANNEL   =   3

) 
(
    input   wire                                    clk             , 
    (*mark_debug = "true"*)input    wire                                    i_vs            , 
    (*mark_debug = "true"*)input    wire                                    i_hs            , 
    (*mark_debug = "true"*)input    wire                                    i_de            , 
    (*mark_debug = "true"*)input   wire [PIXELS_BIT                  -1:0]  i_data          ,

    input   wire [PIXELS_BIT                 -1:0]  Thresholds      , 


    (*mark_debug = "true"*)output   reg                                     o_vs            , 
    (*mark_debug = "true"*)output   reg                                     o_hs            , 
    (*mark_debug = "true"*)output   reg                                     o_de            , 
    (*mark_debug = "true"*)output   reg [PIXELS_BIT*COLOR_CHANNEL-1:0]      o_data          
);    

    (*mark_debug = "true"*)reg     i_vs_r =1'b0;
    (*mark_debug = "true"*)reg     i_hs_r =1'b0;
    (*mark_debug = "true"*)reg     i_de_r =1'b0;
    (*mark_debug = "true"*)reg     [PIXELS_BIT                  -1:0]i_data_r={PIXELS_BIT{1'b0}};

    always @(posedge clk) begin
        i_vs_r<=i_vs;
        i_hs_r<=i_hs;
        i_de_r<=i_de;
        i_data_r<=i_data;
    end
    always @(posedge clk) begin
        o_vs<=i_vs_r;
        o_hs<=i_hs_r;
        o_de<=i_de_r;
        o_data[PIXELS_BIT*1-1:PIXELS_BIT*0]<=(i_data_r-i_data+Thresholds);
        o_data[PIXELS_BIT*2-1:PIXELS_BIT*1]<=(i_data_r-i_data+Thresholds);
        o_data[PIXELS_BIT*3-1:PIXELS_BIT*2]<=(i_data_r-i_data+Thresholds);

    end


endmodule

实现结果

灰度图如下图

浮雕效果如下图

调节阈值

参考链接

https://blog.csdn.net/baidu_34971492/article/details/99680493

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 浮雕效果概念
  • 算法原理
  • FPGA实现
    • 硬件框架
      • 程序设计
        • 实现结果
        • 参考链接
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档