資源簡介
將圖像分成大小為N×N像素的非重疊塊,其中N = 8.使用函數dct2,計算每個子圖像的DCT系數。 請注意,MATLAB IPT為圖像塊處理提供了功能塊proc。通過矩陣劃分每個子圖像的DCT系數,反轉塊變換和量化的操作,并獲得恢復的圖像。通過從原始圖像中減去恢復的圖像來獲得差異圖像。
代碼片段和文件信息
clc;
clear;?
close?all;
I?=?imread(‘peppers.png‘);
%?a)?
I1?=?rgb2gray(I);
I1_double?=?double(I1);
%?b)?
I2?=?I1_double-128;
%?c)
BLOCK?=?@(block_struct)?dct2(block_struct.data);
I_DCT?=?blockproc(I2[8?8]BLOCK);
%?d)
m?=?4;
quant?=?[??16?11?10?16?24?40?51?61;
????12?12?14?19?26?58?60?55;
????14?13?16?24?40?57?69?56;
????14?17?22?29?51?87?80?62;
????18?22?37?56?68109103?77;
????24?35?55?64?81104113?92;
????49?64?78?87103121120101;
????72?92?95?98112100103?99]*m;
BLOCK1?=?@(block_struct)?round(block_struct.data./quant);
I_DCT_norm?=?blockproc(I_DCT[8?8]BLOCK1);
%?e)??
BLOCK2?=?@(block_struct)?round(block
- 上一篇:灰度共生矩陣在matlab中實現紋理缺陷的檢測
- 下一篇:HS和聲搜索算法源碼
評論
共有 條評論