1.演算法執行效果圖預覽
vivado2019.2和matlab2022a測試,結果如下:
2.演算法執行軟體版本
vivado2019.2
matlab2022a
3.演算法理論概述
影像質量的含義包括影像的逼真度和影像的可讀懂性。所謂影像的逼真度是指被評價影像與標準影像的偏離程度,偏差越小,逼真度越高。而影像的可讀懂性是指由影像能向人或機器提供資訊的能力,它不僅與影像系統的應用要求有關,而且常常與人眼的主觀感覺有關。影像質量指標包括解析度、色彩深度、影像失真等方面。
NC影像質量評估指標是指用於評估影像質量的一種指標,通常用於影像處理和計算機視覺領域。NC代表"Normalized Cross-Correlation",即標準化的互相關。這一指標通常用於比較兩幅影像的相似性或匹配程度。在影像質量評估中,NC指標可以用來衡量一幅影像與原始影像之間的相似度,從而評估影像的失真程度或質量損失。
4.部分核心程式
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2022/07/28 01:51:45 // Design Name: // Module Name: test_image // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module test_image; reg i_clk; reg i_rst; reg [7:0] tmps1 [0:100000]; reg [7:0] tmps2 [0:100000]; reg [7:0] Images1; reg [7:0] Images2; wire [15:0] o_NC; integer fids1,fids2,idx=0,dat1,dat2; //D:\FPGA_Proj\FPGAtest\codepz\test0N.bmp 路徑改為自己的路徑 initial begin fids1 = $fopen("D:\\FPGA_Proj\\FPGAtest\\code2\\test0.bmp","rb"); dat1 = $fread(tmps1,fids1); $fclose(fids1); fids2 = $fopen("D:\\FPGA_Proj\\FPGAtest\\code2\\test0N.bmp","rb"); dat2 = $fread(tmps2,fids2); $fclose(fids2); end initial begin i_clk=1; i_rst=1; #1000; i_rst=0; end always #5 i_clk=~i_clk; always@(posedge i_clk) begin if(idx<=66613) begin Images1<=tmps1[idx]; Images2<=tmps2[idx]; end else begin Images1<=8'd0; Images2<=8'd0; end idx<=idx+1; end tops tops_u( .i_clk (i_clk), .i_rst (i_rst), .i_images1 (Images1), .i_images2 (Images2), .o_NC (o_NC) ); endmodule