影像壓縮編碼碼matlab實現——常用引數計算
function PSNR = psnr(f1, f2)
%計算兩幅影像的峰值訊雜比
k = 8; %k為影像中表示一個畫素點所用的二進位制位數,即位深。
fmax = 2.^k - 1;
a = fmax.^2;
e = double(f1) - double(f2);
[m, n] = size(e);
b = sum(e(:).^2);
PSNR = 10*log(m*n*a/b);
function b = bytes(f)
%函式bytes返回輸入f佔用的位元數
%if ischar(f)
% info = dir(f);
% b = info.bytes;
%elseif isstruct(f)
% b = 0;
% fields = fieldnames(f);
% for k = 1:length(fields)
% b = b + bytes(f.(fields{k}));
% end
%else
info = whos('f');
b = info.bytes;
%end
function SHAN = entropy(x, n)
% 計算熵,n是影像 x的灰度級,如果 n是預設則 n = 256
error(nargchk(1, 2, nargin));
if nargin<2
n = 256;
end
x = double(x);
xh = hist(x(:), n);
xh = xh/sum(xh(:));
i = find(xh);
SHAN = -sum(xh(i).*log2(xh(i)));
function ERMS = erms(f1, f2)
%計算f1和f2均方根誤差
e = double(f1) - double(f2);
[m, n] = size(e);
ERMS = sqrt(sum(e(:).^2)/(m*n));
function f = frequency(vector)
%函式frequency計算各符號出現的概率
if ~isa(vector, 'uint8')
error('input argument must be a uint8 vector');
end
f = repmat(0, 1, 256);
len = length(vector);
for index = 0:255
f(index+1) = sum(vector == uint8(index));
end
f = f./len; %歸一化
function cr = imageratio(f1, f2)
%計算兩幅影像壓縮比
error(nargchk(2, 2, nargin));
cr = bytes(f1)/bytes(f2);
相關文章
- 影像壓縮編碼碼matlab實現——算術編碼Matlab
- 影像壓縮編碼碼matlab實現——行程編碼Matlab行程
- 影像壓縮編碼碼matlab實現——DM編碼Matlab
- 影像壓縮編碼碼matlab實現——變換編碼Matlab
- 貪心演算法——Huffman 壓縮編碼的實現演算法
- 計算機演算法:資料壓縮之字首編碼(5)計算機演算法
- 計算機演算法:資料壓縮之遊程編碼計算機演算法
- 用ASP實現線上壓縮與解壓縮功能程式碼
- 計算機演算法:資料壓縮之相對編碼(4)計算機演算法
- 數字媒體技術揭祕(續)——壓縮編碼
- JavaScript 影像壓縮JavaScript
- LZ77壓縮演算法編碼Python實現原理圖解演算法Python圖解
- 計算機演算法:資料壓縮之圖編碼和模式替換(3)計算機演算法模式
- CSP之壓縮編碼(動態規劃)動態規劃
- 高效的資料壓縮編碼方式 Protobuf
- Python實現壓縮和解壓縮Python
- Android圖片壓縮實現過程及程式碼Android
- 網格人為干擾度計算方法的matlab程式碼實現Matlab
- 前端打包混編壓縮js程式碼,如何不重新打包,修改js檔案內部配置引數?前端JS
- YUV影像質量的客觀評估SSIM matlab程式碼實現Matlab
- 壓縮Word,一鍵實現Word文件壓縮
- 利用Java實現zip壓縮/解壓縮 (轉)Java
- 檢視網頁是否壓縮gzip+編碼方式網頁
- Glide 4.9 原始碼分析(二) —— 取樣壓縮的實現IDE原始碼
- 【Codecs系列】硬體編碼器編碼引數分析
- PHP影像處理繪圖、水印、驗證碼、影像壓縮技術例項總結PHP繪圖
- Redis 設計與實現 5:壓縮列表Redis
- [計組] 計算機編碼方式:原碼、反碼、補碼計算機
- C++實現http下載 && 24點計算編碼風格C++HTTP
- 【學習圖片】13.自動壓縮和編碼
- 常用指令碼:獲取隱含引數指令碼
- 漫談計算機編碼計算機
- UglifyJsPlugin 壓縮js程式碼後出現ReferenceError 變數未定義報錯JSPluginError變數
- 常用的壓縮和解壓命令案例
- 計算機視覺 | Matlab實現單目視覺里程計基於SURF特徵(程式碼類)計算機視覺Matlab特徵
- BCB中用Sender引數實現程式碼重用 (轉)
- Linux下常用壓縮格式的壓縮與解壓方法Linux
- 計算機編碼規則之:Base64編碼計算機