📄 std_stegcompress.m
字号:
function V=std_stegcompress(B)%this function takes a "tiled" DCT matrix and converts it into%one long string that wraps around. The string is a "compressed"%version of the tiled matrix. It first traverses each block in%a way that maximizes the number of consecutive zeros. Next it forms%length 3 "words' that represent either a postive DCT coefficent, negative%coefficent, or a group of consecutive zeros, this can be done using only%11 bits and get 512 shades of gray or as little a here we use an easier to%manage but more redundant version where we use three semi-redundant%unsigned integers. %Example 1: the entry {-6} is representede by {6 0 0}%Example 2: the entry {5} is represented by {0 5 0} %Example 3: the entries {0 0 0 0} are represented by {0 0 4}x=size(B,3);row=1;col=1;for i=1:x for j=1:x %this first vectorizes the 8x8 "tiles" in the B matrix, then groups %the zeros A= dropzeros(jvector(B(:,:,i,j))); m=size(A,2); temp_col=col+m; %here we have to build the output array into a matrix so that we %can maniupulate large files. Before we did this we could easily %hit the matlab array length limit of 65536 if(temp_col>60000) row=row+1; col=1; end temp(row,col:col+m-1)=A(1,:); col=col+m; endendV=temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -