彩色图转化为灰度图
彩色圖轉化為灰度圖
源文件
`timescale 1ns / 1ps module rgb2gary(input [7:0] rgb_r,input [7:0] rgb_g,input [7:0] rgb_b,output [7:0] gary); //Verilog不支持小數 // assign gary = 0.299 * rgb_r + 0.587 * rgb_g + 0.114 * rgb_b; wire [17:0] gary_temp; //將浮點數轉化為定點數 擴大的倍數越大就會越接近(當誤差能夠接受就是對的) assign gary_temp = 306 * rgb_r + 601 * rgb_g + 116 * rgb_b; //擴大1024倍并且只取整數部分 assign gary = gary_temp[17:10];//等效于 assign gary = gary_temp >> 10;右移10位就是去掉低10位取高8位 endmodule激勵文件
`timescale 1ns / 1ps module rgb2gary_tb(); reg [7:0] rgb_r; reg [7:0] rgb_g; reg [7:0] rgb_b;wire [7:0] gary;reg [7:0] rgb_data_mem [921599 : 0];//儲存器 reg [19 : 0] addr;//儲存器的地址 integer fid;//定義存放計算灰度值之后的文件量 rgb2gary rgb2gary_tb(.rgb_r (rgb_r),.rgb_g (rgb_g),.rgb_b (rgb_b),.gary(gary));i總結
- 上一篇: 车标值20万?博主称奔驰EQC 24万甩
- 下一篇: 实现图像的二值化