影像壓縮編碼碼matlab實現——行程編碼
function [zipped, info] = RLEncode(vector)
[m, n] = size(vector);
%vector = vector(:)';
vector = uint8(vector(:));
L = length(vector);
c = vector(1);
e(1, 1) = c; %e(:, 1)存放灰度
e(1, 2) = 0; %e(:, 2)存放行程
t1 = 1;
for j = 1: L
if((vector(j) == c))
e(t1, 2) = double(e(t1,2)) + 1;
else
c = vector(j);
t1 = t1 + 1;
e(t1, 1) = c;
e(t1, 2) = 1;
end
end
zipped = e;
info.rows = m;
info.cols = n;
[m, n] = size(e);
info.ratio = m*n/(info.rows * info.cols);
clear all;
I = imread('cameraman.tif');
I = im2bw(I, 0.4);
[zipped, info] = RLEncode(I);
unzipped = RLEdecode(zipped, info);
%顯示原始影像和經編解碼後的影像,顯示壓縮比,並計算均方根誤差得erms=0,
%表示RLE是無失真編碼。
I2 = logical(unzipped);
subplot(121);imshow(I);
subplot(122);imshow(I2);
erms = compare(I, I2)
cr = info.ratio
whos I unzipped zipped
function unzipped = RLEdecode(zip, info)
zip = uint8(zip);
[m, n] = size(zip);
unzipped = [];
for i = 1: m
section = repmat(zip(i, 1), 1, double(zip(i, 2)));
unzipped = [unzipped section];
end
unzipped = reshape(unzipped, info.rows, info.cols);
相關文章
- 影像壓縮編碼碼matlab實現——DM編碼Matlab
- 影像壓縮編碼碼matlab實現——變換編碼Matlab
- 影像壓縮編碼碼matlab實現——算術編碼Matlab
- 影像壓縮編碼碼matlab實現——常用引數計算Matlab
- 基於方塊編碼的影像壓縮matlab模擬,帶GUI介面MatlabGUI
- 貪心演算法——Huffman 壓縮編碼的實現演算法
- CSP之壓縮編碼(動態規劃)動態規劃
- 高效的資料壓縮編碼方式 Protobuf
- 標籤編碼、獨熱編碼大不同 - Python 實現Python
- 【學習圖片】13.自動壓縮和編碼
- 記錄一個很簡單的壓縮編碼--ADPCM
- T1129 行程長度編碼行程
- 用ASP實現線上壓縮與解壓縮功能程式碼
- JS 簡單實現UTF-8編碼,Base64編碼JS
- Android短影片系統硬編碼—實現音影片編碼(三)Android
- Android短影片系統硬編碼—實現音影片編碼(二)Android
- 一行程式碼實現移動端拍照旋轉、壓縮問題行程
- hive學習之四:hive檔案格式以及壓縮編碼Hive
- vue3 模板編譯 —— 30 行程式碼實現 .sync 修飾符Vue編譯行程
- 用Javascript實現UTF8編碼轉換成gb2312編碼JavaScript
- IDEA如何設定編碼格式,字元編碼,全域性編碼和專案編碼格式Idea字元
- Netty編碼流程及WriteAndFlush()的實現Netty
- TensorFlow上實現AutoEncoder自編碼器
- Keras上實現AutoEncoder自編碼器Keras
- 熵編碼(四)-算術編碼(二)熵
- html實體編碼遇上js程式碼HTMLJS
- Unicode編碼解碼Unicode
- Glide 4.9 原始碼分析(二) —— 取樣壓縮的實現IDE原始碼
- 基於Netty實現Redis協議的編碼解碼器NettyRedis協議
- Laravel 編碼實踐分享Laravel
- 自動編碼器是什麼?教你如何使用自動編碼器增強模糊影像
- java安全編碼指南之:字串和編碼Java字串
- 字符集編碼(二):字元編碼模型字元模型
- 哈夫曼編碼 —— Lisp 與 Python 實現LispPython
- Unicode編碼和中文互轉(JAVA實現)UnicodeJava
- 利用 TensorFlow 實現卷積自編碼器卷積
- LeetCode第三題之二:編碼實現LeetCode
- YUV影像質量的客觀評估SSIM matlab程式碼實現Matlab