视频处理之浮雕效果【附源码】 浮雕效果概念 算法原理 FPGA实现 参考链接

欲观原文,请君移步

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

视频处理之浮雕效果【附源码】
浮雕效果概念
算法原理
FPGA实现
参考链接

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

算法原理

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

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

FPGA实现

硬件框架

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

视频处理之浮雕效果【附源码】
浮雕效果概念
算法原理
FPGA实现
参考链接

程序设计

`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

实现结果

灰度图如下图

视频处理之浮雕效果【附源码】
浮雕效果概念
算法原理
FPGA实现
参考链接

浮雕效果如下图

视频处理之浮雕效果【附源码】
浮雕效果概念
算法原理
FPGA实现
参考链接

调节阈值

参考链接

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