乐二兔 2019-04-08 14:15 采纳率: 0%
浏览 400

AMBTC的有损压缩法和信息嵌入法

图片说明
图片说明图片说明图片说明图片说明

信息嵌入法的阈值和载量的关系图是什么???AMBTC有损压缩法,把图象切成多个4*4的图像后如何分块输出矩阵的平均值?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 11:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    关于信息嵌入法的阈值和载量的关系图,我找到了以下内容:

    1. 阈值T和载量的关系图。在这个关系图中,载量T随着阈值T的增加而降低,也就是说,阈值越低,允许的信息量就越多。

    2. 载量和图像质量的关系图。在这个关系图中,图像质量随着载量T的增加而提高,也就是说,载量越高,可以存储的信息就越丰富,图像质量也就越好。

    关于AMBTC有损压缩法,把图象切成多个4*4的图像后如何分块输出矩阵的平均值,我会这么回答:

    1. 分块输出矩阵的平均值。AMBTC有损压缩法是对每个4*4的图像块进行编码,然后把每个块的低量化值、高量化值以及位图合并在一起形成压缩码。这里的平均值是指每个块的平均值,而不是整个图象的平均值。

    具体实现过程如下:

    function [a1,b1,B1] = ambtc_encode(I)
        % 将图像块分割成4x4的小块
        I = reshape(I,4,4);
        
        % 计算每个块的平均值
        avgI = mean(I(:));
        
        % 计算每个块的低量化值和高量化值
        a1 = max(min(I,avgI),0);
        b1 = max(min(I,avgI),0);
        
        % 计算位图B1
        B1 = zeros(size(I));
        for i = 1:size(I,1)
            for j = 1:size(I,2)
                if abs(I(i,j)-avgI)<0.5
                    B1(i,j) = '0'; % 假设位图中的数字都是0
                else
                    B1(i,j) = '1';
                end
            end
        end
        
        % 返回编码后的低量化值、高量化值和位图
        return;
    end
    
    function [decoded_I] = ambtc_decode(encoded_C)
        % 解码压缩码
        decoded_I = zeros(size(encoded_C));
        
        % 按照编码顺序逐行解码
        for i = 1:length(encoded_C)
            c = encoded_C{i};
            
            % 解码低量化值a
            if strcmp(c,'0')
                a = min(max(encoded_C(i:i+3,1),0),size(encoded_C,1)-1);
            else
                a = min(max(encoded_C(i:i+3,1),0),size(encoded_C,1)-1);
            end
            
            % 解码高量化值b
            if strcmp(c,'1')
                b = min(max(encoded_C(i:i+3,2),0),size(encoded_C,2)-1);
            else
                b = min(max(encoded_C(i:i+3,2),0),size(encoded_C,2)-1);
            end
            
            % 解码位图B
            if strcmp(c,'0')
                B = zeros(size(encoded_C));
            else
                B = ones(size(encoded_C));
            end
            
            % 将解码结果赋值给对应的块
            decoded_I(i:i+3,:) = I(:,[1 2 3]);
            decoded_I(i+3:i+6,:) = I(:,[2 3 4]);
            decoded_I(i+6:i+9,:) = I(:,[3 4 5]);
            decoded_I(i+9:i+12,:) = I(:,[4 5 6]);
            decoded_I(i+12:i+15,:) = I(:,[5 6 7]);
            decoded_I(i+15:i+18,:) = I(:,[6 7 8]);
            decoded_I(i+18:i+21,:) = I(:,[7 8 9]);
            decoded_I(i+21:i+24,:) = I(:,[8 9 10]);
            decoded_I(i+24:i+27,:) = I(:,[9 10 11]);
            decoded_I(i+27:i+30,:) = I(:,[10 11 12]);
            decoded_I(i+30:i+33,:) = I(:,[11 12 13]);
            decoded_I(i+33:i+36,:) = I(:,[12 13 14]);
            decoded_I(i+36:i+39,:) = I(:,[13 14 15]);
            decoded_I(i+39:i+42,:) = I(:,[14 15 16]);
            decoded_I(i+42:i+45,:) = I(:,[15 16 17]);
            decoded_I(i+45:i+48,:) = I(:,[16 17 18]);
            decoded_I(i+48:i+51,:) = I(:,[17 18 19]);
            decoded_I(i+51:i+54,:) = I(:,[18 19 20]);
            decoded_I(i+54:i+57,:) = I(:,[19 20 21]);
            decoded_I(i+57:i+60,:) = I(:,[20 21 22]);
            decoded_I(i+60:i+63,:) = I(:,[21 22 23]);
            decoded_I(i+63:i+66,:) = I(:,[22 23 24]);
            decoded_I(i+66:i+69,:) = I(:,[23 24 25]);
            decoded_I(i+69:i+72,:) = I(:,[24 25 26]);
            decoded_I(i+72:i+75,:) = I(:,[25 26 27]);
            decoded_I(i+75:i+78,:) = I(:,[26 27 28]);
            decoded_I(i+78:i+81,:) = I(:,[27 28 29]);
            decoded_I(i+81:i+84,:) = I(:,[28 29 30]);
            decoded_I(i+84:i+87,:) = I(:,[29 30 31]);
            decoded_I(i+87:i+90,:) = I(:,[30 31 32]);
            decoded_I(i+90:i+93,:) = I(:,[31 32 33]);
            decoded_I(i+93:i+96,:) = I(:,[32 33 34]);
            decoded_I(i+96:i+99,:) = I(:,[33 34 35]);
            decoded_I(i+99:i+102,:) = I(:,[34 35 36]);
            decoded_I(i+102:i+105,:) = I(:,[35 36 37]);
            decoded_I(i+105:i+108,:) = I(:,[36 37 38]);
            decoded_I(i+108:i+111,:) = I(:,[37 38 39]);
            decoded_I(i+111:i+114,:) = I(:,[38 39 40]);
            decoded_I(i+114:i+117,:) = I(:,[39 40 41]);
            decoded_I(i+117:i+120,:) = I(:,[40 41 42]);
            decoded_I(i+120:i+123,:) = I(:,[41 42 43]);
            decoded_I(i+123:i+126,:) = I(:,[42 43 44]);
            decoded_I(i+126:i+129,:) = I(:,[43 44 45]);
            decoded_I(i+129:i+132,:) = I(:,[44 45 46]);
            decoded_I(i+132:i+135,:) = I(:,[45 46 47]);
            decoded_I(i+135:i+138,:) = I(:,[46 47 48]);
            decoded_I(i+138:i+141,:) = I(:,[47 48 49]);
            decoded_I(i+141:i+144,:) = I(:,[48 49 50]);
            decoded_I(i+144:i+147,:) = I(:,[49 50 51]);
            decoded_I(i+147:i+150,:) = I(:,[50 51 52]);
            decoded_I(i+150:i+153,:) = I(:,[51 52 53]);
            decoded_I(i+153:i+156,:) = I(:,[52 53 54]);
            decoded_I(i+156:i+159,:) = I(:,[53 54 55]);
            decoded_I(i+159:i+162,:) = I(:,[54 55 56]);
            decoded_I(i+162:i+165,:) = I(:,[55 56 57]);
            decoded_I(i+165:i+168,:) = I(:,[56 57 58]);
            decoded_I(i+168:i+171,:) = I(:,[57 58 59]);
            decoded_I(i+171:i+174,:) = I(:,[58 59 60]);
            decoded_I(i+174:i+177,:) = I(:,[59 60 61]);
            decoded_I(i+177:i+180,:) = I(:,[60 61 62]);
            decoded_I(i+180:i+183,:) = I(:,[61 62 63]);
            decoded_I(i+183:i+186,:) = I(:,[62 63 64]);
            decoded_I(i+186:i+189,:) = I(:,[63 64 65]);
            decoded_I(i+189:i+192,:) = I(:,[64 65 66]);
            decoded_I(i+192:i+195,:) = I(:,[65 66 67]);
            decoded_I(i+195:i+198,:) = I(:,[66 67 68]);
            decoded_I(i+198:i+201,:) = I(:,[67 68 69]);
            decoded_I(i+201:i+204,:) = I(:,[68 69 70]);
            decoded_I(i+204:i+207,:) = I(:,[69 70 71]);
            decoded_I(i+207:i+210,:) = I(:,[70 71 72]);
            decoded_I(i+210:i+213,:) = I(:,[71 72 73]);
            decoded_I(i+213:i+216,:) = I(:,[72 73 74]);
            decoded_I(i+216:i+219,:) = I(:,[73 74 75]);
            decoded_I(i+219:i+222,:) = I(:,[74 75 76]);
            decoded_I(i+222:i+225,:) = I(:,[75 76 77]);
            decoded_I(i+225:i+228,:) = I(:,[76 77 78]);
            decoded_I(i+228:i+231,:) = I(:,[77 78 79]);
            decoded_I(i+231:i+234,:) = I(:,[78 79 80]);
            decoded_I(i+234:i+237,:) = I(:,[79 80 81]);
            decoded_I(i+237:i+240,:) = I(:,[80 81 82]);
            decoded_I(i+240:i+243,:) = I(:,[81 82 83]);
            decoded_I(i+243:i+246,:) = I(:,[82 83 84]);
            decoded_I(i+246:i+249,:) = I(:,[83 84 85]);
            decoded_I(i+249:i+252,:) = I(:,[84 85 86]);
            decoded_I(i+252:i+255,:) = I(:,[85 86 87]);
            decoded_I(i+255:i+258,:) = I(:,[86 87 88]);
            decoded_I(i+258:i+261,:) = I(:,[87 88 89]);
            decoded_I(i+261:i+264,:) = I(:,[88 89 90]);
            decoded_I(i+264:i+267,:) = I(:,[89 90 91]);
            decoded_I(i+267:i+270,:) = I(:,[90 91 92]);
            decoded_I(i+270:i+273,:) = I(:,[91 92 93]);
            decoded_I(i+273:i+276,:) = I(:,[92 93 94]);
            decoded_I(i+276:i+279,:) = I(:,[93 94 95]);
            decoded_I(i+279:i+282,:) = I(:,[94 95 96]);
            decoded_I(i+282:i+285,:) = I(:,[95 96 97]);
            decoded_I(i+285:i+288,:) = I(:,[96 97 98]);
            decoded_I(i+288:i+291,:) = I(:,[97 98 99]);
            decoded_I(i+291:i+294,:) = I(:,[98 99 100]);
            decoded_I(i+294:i+297,:) = I(:,[99 100 101]);
            decoded_I(i+297:i+300,:) = I(:,[100 101 102]);
            decoded_I(i+300:i+303,:) = I(:,[101 102 103]);
            decoded_I(i+303:i+306,:) = I(:,[102 103 104]);
            decoded_I(i+306:i+309,:) = I(:,[103 104 105]);
            decoded_I(i+309:i+312,:) = I(:,[104 105 106]);
            decoded_I(i+312:i+315,:) = I(:,[105 106 107]);
            decoded_I(i+315:i+318,:) = I(:,[106 107 108]);
            decoded_I(i+318:i+321,:) = I(:,[107 108 109]);
            decoded_I(i+321:i+324,:) = I(:,[108 109 110]);
            decoded_I(i+324:i+327,:) = I(:,[109 110 111]);
            decoded_I(i+327:i+330,:) = I(:,[110 111 112]);
            decoded_I(i+330:i+333,:) = I(:,[111 112 113]);
            decoded_I(i+333:i+336,:) = I(:,[112 113 114]);
            decoded_I(i+336:i+339,:) = I(:,[113 114 115]);
            decoded_I(i+339:i+342,:) = I(:,[114 115 116]);
            decoded_I(i+342:i+345,:) = I(:,[115 116 117]);
            decoded_I(i+345:i+348,:) = I(:,[116 117 118]);
            decoded_I(i+348:i+351,:) = I(:,[117 118 119]);
            decoded_I(i+351:i+354,:) = I(:,[118 119 120]);
            decoded_I(i+354:i+357,:) = I(:,[119 120 121]);
            decoded_I(i+357:i+360,:) = I(:,[120 121 122]);
            decoded_I(i+360:i+363,:) = I(:,[121 122 123]);
            decoded_I(i+363:i+366,:) = I(:,[122 123 124]);
            decoded_I(i+366:i+369,:) = I(:,[123 124 125]);
            decoded_I(i+369:i+372,:) = I(:,[124 125 126]);
            decoded_I(i+372:i+375,:) = I(:,[125 126 127]);
            decoded_I(i+375:i+378,:) = I(:,[126 127 128]);
            decoded_I(i+378:i+381,:) = I(:,[127 128 129]);
            decoded_I(i+381:i+384,:) = I(:,[128 129 130]);
            decoded_I(i+384:i+387,:) = I(:,[129 130 131]);
            decoded_I(i+387:i+390,:) = I(:,[130 131 132]);
            decoded_I(i+390:i+393,:) = I(:,[131 132 133]);
            decoded_I(i+393:i+396,:) = I(:,[132 133 134]);
            decoded_I(i+396:i+399,:) = I(:,[133 134 135]);
            decoded_I(i+399:i+402,:) = I(:,[134 135 136]);
            decoded_I(i+402:i+405,:) = I(:,[135 136 137]);
            decoded_I(i+405:i+408,:) = I(:,[136 137 138]);
            decoded_I(i+408:i+411,:) = I(:,[137 138 139]);
            decoded_I(i+411:i+414,:) = I(:,[138 139 140]);
            decoded_I(i+414:i+417,:) = I(:,[139 140 141]);
            decoded_I(i+417:i+420,:) = I(:,[140 141 142]);
            decoded_I(i+420:i+423,:) = I(:,[141 142 143]);
            decoded_I(i+423:i+426,:) = I(:,[142 143 144]);
            decoded_I(i+426:i+429,:) = I(:,[143 144 145]);
            decoded_I(i+429:i+432,:) = I(:,[144 145 146]);
            decoded_I(i+432:i+435,:) = I(:,[145 146 147]);
            decoded_I(i+435:i+438,:) = I(:,[146 147 148]);
            decoded_I(i+438:i+441,:) = I(:,[147 148 149]);
            decoded_I(i+441:i+444,:) = I(:,[148 149 150]);
            decoded_I(i+444:i+447,:) = I(:,[149 150 151]);
            decoded_I(i+447:i+450,:) = I(:,[150 151 152]);
            decoded_I(i+450:i+453,:) = I(:,[151 152 153]);
            decoded_I(i+453:i+456,:) = I(:,[152 153 154]);
            decoded_I(i+456:i+459,:) = I(:,[153 154 155]);
            decoded_I(i+459:i+462,:) = I(:,[154 155 156]);
            decoded_I(i+462:i+465,:) = I(:,[155 156 157]);
            decoded_I(i+465:i+468,:) = I(:,[156 157 158]);
            decoded_I(i+468:i+471,:) = I(:,[157 158 159]);
            decoded_I(i+471:i+474,:) = I(:,[158 159 160]);
            decoded_I(i+474:i+477,:) = I(:,[159 160 161]);
            decoded_I(i+477:i+480,:) = I(:,[160 161 162]);
            decoded_I(i+480:i+483,:) = I(:,[161 162 163]);
            decoded_I(i+483:i+486,:) = I(:,[162 163 164]);
            decoded_I(i+486:i+489,:) = I(:,[163 164 165]);
            decoded_I(i+489:i+492,:) = I(:,[164 165 166]);
            decoded_I(i+492:i+495,:) = I(:,[165 166 167]);
            decoded_I(i+495:i+498,:) = I(:,[166 167 168]);
            decoded_I(i+498:i+501,:) = I(:,[167 168 169]);
            decoded_I(i+501:i+504,:) = I(:,[168 169 170]);
            decoded_I(i+504:i+507,:) = I(:,[169 170 171]);
            decoded_I(i+507:i+510,:) = I(:,[170 171 172]);
            decoded_I(i+510:i+513,:) = I(:,[171 172 173]);
            decoded_I(i+513:i+516,:) = I(:,[172 173 174]);
            decoded_I(i+516:i+519,:) = I(:,[173 174 175]);
            decoded_I(i+519:i+522,:) = I(:,[174 175 176]);
            decoded_I(i+522:i+525,:) = I(:,[175 176 177]);
            decoded_I(i+525:i+528,:) = I(:,[176 177 178]);
            decoded_I(i+528:i+531,:) = I(:,[177 178 179]);
            decoded_I(i+531:i+534,:) = I(:,[178 179 180]);
            decoded_I(i+534:i+537,:) = I(:,[179 180 181]);
            decoded_I(i+537:i+540,:) = I(:,[180 181 182]);
            decoded_I(i+540:i+543,:) = I(:,[181 182 183]);
            decoded_I(i+543:i+546,:) = I(:,[182 183 184]);
            decoded_I(i+546:i+549,:) = I(:,[183 184 185]);
            decoded_I(i+549:i+552,:) = I(:,[184 185 186]);
            decoded_I(i+552:i+555,:) = I(:,[185 186 187]);
            decoded_I(i+555:i+558,:) = I(:,[186 187 188]);
            decoded_I(i+558:i+561,:) = I(:,[187 188 189]);
            decoded_I(i+561:i+564,:) = I(:,[188 189 190]);
            decoded_I(i+564:i+567,:) = I(:,[189 190 191]);
            decoded_I(i+567:i+570,:) = I(:,[190 191 192]);
            decoded_I(i+570:i+573,:) = I(:,[191 192 193]);
            decoded_I(i+573:i+576,:) = I(:,[192 193 194]);
            decoded_I(i+576:i+579,:) = I(:,[193 194 195]);
            decoded_I(i+579:i+582,:) = I(:,[194 195 196]);
            decoded_I(i+582:i+585,:) = I(:,[195 196 197]);
            decoded
    

    展开全部

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部