亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? invwtfull.java

?? jpeg2000算法實現
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        float src_data_float[],dst_data_float[];        // To keep compiler happy        dst_data = null;        // Ensure output buffer        switch (blk.getDataType()) {        case DataBlk.TYPE_INT:            dst_data_int = (int[]) blk.getData();            if (dst_data_int == null || dst_data_int.length < blk.w*blk.h) {                dst_data_int = new int[blk.w*blk.h];            }            dst_data = dst_data_int;            break;        case DataBlk.TYPE_FLOAT:            dst_data_float = (float[]) blk.getData();            if (dst_data_float == null || dst_data_float.length < blk.w*blk.h) {                dst_data_float = new float[blk.w*blk.h];            }            dst_data = dst_data_float;            break;        }        // Use getInternCompData() to get the data, since getInternCompData()        // returns reference to internal buffer, we must copy it.        blk = getInternCompData(blk,c);        // Copy the data        blk.setData(dst_data);        blk.offset = 0;        blk.scanw = blk.w;	return blk;    }    /**     * Performs the 2D inverse wavelet transform on a subband of the image, on     * the specified component. This method will successively perform 1D     * filtering steps on all columns and then all lines of the subband.     *     * @param img the buffer for the image/wavelet data.     *     * @param sb The subband to reconstruct.     *     * @param c The index of the component to reconstruct      * */    private void wavelet2DReconstruction(DataBlk img, SubbandSyn sb, int c) {        Object data;        Object buf;        int ulx, uly, w, h;        int i,j,k;        int offset;                // If subband is empty (i.e. zero size) nothing to do        if (sb.w == 0 || sb.h == 0) {            return;        }        data = img.getData();                ulx = sb.ulx;        uly = sb.uly;        w = sb.w;        h = sb.h;        buf = null;  // To keep compiler happy                switch (sb.hFilter.getDataType()) {        case DataBlk.TYPE_INT:            buf = new int[(w>=h) ? w : h];            break;        case DataBlk.TYPE_FLOAT:            buf = new float[(w>=h) ? w : h];            break;        }        //Perform the horizontal reconstruction        offset = (uly-img.uly)*img.w + ulx-img.ulx;        if (sb.ulcx%2==0) { // start index is even => use LPF            for(i=0; i<h; i++, offset += img.w) {                System.arraycopy(data,offset,buf,0,w);                                sb.hFilter.synthetize_lpf(buf, 0, (w+1)/2, 1,                                       buf, (w+1)/2, w/2, 1,                                       data, offset, 1);            }        }        else { // start index is odd => use HPF            for(i=0; i<h; i++, offset += img.w) {                System.arraycopy(data,offset,buf,0,w);                sb.hFilter.synthetize_hpf(buf, 0, w/2, 1,                                       buf, w/2, (w+1)/2, 1,                                       data, offset, 1);            }        }                //Perform the vertical reconstruction         offset = (uly-img.uly)*img.w+ulx-img.ulx;        switch (sb.hFilter.getDataType()) {        case DataBlk.TYPE_INT:            int data_int[], buf_int[];            data_int = (int[]) data;            buf_int = (int[]) buf;            if (sb.ulcy%2==0) { // start index is even => use LPF                for(j=0; j<w; j++, offset++) {                    for(i=h-1, k=offset+i*img.w; i>=0; i--, k-= img.w)                        buf_int[i] = data_int[k];                    sb.vFilter.synthetize_lpf(buf, 0, (h+1)/2, 1,                                           buf, (h+1)/2, h/2, 1,                                           data, offset, img.w);                }            }            else { // start index is odd => use HPF                for(j=0; j<w; j++, offset++) {                    for(i=h-1, k=offset+i*img.w; i>=0; i--, k-= img.w)                        buf_int[i] = data_int[k];                    sb.vFilter.synthetize_hpf(buf, 0, h/2, 1,                                           buf, h/2, (h+1)/2, 1,                                           data, offset, img.w);                }            }            break;        case DataBlk.TYPE_FLOAT:            float data_float[], buf_float[];            data_float = (float[]) data;            buf_float = (float[]) buf;            if (sb.ulcy%2==0) { // start index is even => use LPF                for(j=0; j<w; j++, offset++) {                    for(i=h-1, k=offset+i*img.w; i>=0; i--, k-= img.w)                        buf_float[i] = data_float[k];                    sb.vFilter.synthetize_lpf(buf, 0, (h+1)/2, 1,                                           buf, (h+1)/2, h/2, 1,                                           data, offset, img.w);                }            }            else { // start index is odd => use HPF                for(j=0; j<w; j++, offset++) {                    for(i=h-1, k=offset+i*img.w; i>=0; i--, k-= img.w)                        buf_float[i] = data_float[k];                    sb.vFilter.synthetize_hpf(buf, 0, h/2, 1,                                           buf, h/2, (h+1)/2, 1,                                           data, offset, img.w);                }            }            break;        }    }        /**     * Performs the inverse wavelet transform on the whole component. It     * iteratively reconstructs the subbands from leaves up to the root     * node. This method is recursive, the first call to it the 'sb' must be     * the root of the subband tree. The method will then process the entire     * subband tree by calling itslef recursively.     *     * @param img The buffer for the image/wavelet data.     *     * @param sb The subband to reconstruct.     *     * @param c The index of the component to reconstruct      * */    private void waveletTreeReconstruction(DataBlk img,                                           SubbandSyn sb, int c) {            DataBlk subbData;            // If the current subband is a leaf then get the data from the source        if(!sb.isNode) {            int i,m,n;            Object src_data,dst_data;            Coord ncblks;            if (sb.w == 0 || sb.h == 0) {                return; // If empty subband do nothing            }            // Get all code-blocks in subband            if(dtype==DataBlk.TYPE_INT)                subbData = new DataBlkInt();            else                subbData = new DataBlkFloat();            ncblks = src.getNumCodeBlocks(sb,c,null);            dst_data = img.getData();            for (m=0; m<ncblks.y; m++) {                for (n=0; n<ncblks.x; n++) {                    subbData = src.getInternCodeBlock(c,m,n,sb,subbData);                    src_data = subbData.getData();                    // Copy the data line by line                    for (i=subbData.h-1; i>=0; i--) {                        System.arraycopy(src_data,                                         subbData.offset+i*subbData.scanw,                                         dst_data,                                         (subbData.uly+i)*img.w+subbData.ulx,                                         subbData.w);                    }                }            }        }        else if(sb.isNode) {            // Reconstruct the lower resolution levels if the current subbands            // is a node             //Perform the reconstruction of the LL subband            waveletTreeReconstruction(img,(SubbandSyn)sb.getLL(),c);                        //If the subband resolution is not greater than the wanted            //(image) resolution level            if(sb.level >= (decSpec.dls.getMin()-reslvl) ){                //Reconstruct the other subbands                waveletTreeReconstruction(img,(SubbandSyn)sb.getHL(),c);                waveletTreeReconstruction(img,(SubbandSyn)sb.getLH(),c);                waveletTreeReconstruction(img,(SubbandSyn)sb.getHH(),c);                //Perform the 2D wavelet decomposition of the current subband                wavelet2DReconstruction(img,(SubbandSyn)sb,c);            }        }    }    /**     * Returns the implementation type of this wavelet transform, WT_IMPL_FULL     * (full-page based transform). All components return the same.     *     * @param c The index of the component.     *     * @return WT_IMPL_FULL     *     * @see WaveletTransform#WT_IMPL_FULL     * */    public int getImplementationType(int c) {        return WaveletTransform.WT_IMPL_FULL;    }    /**     * Changes the current tile, given the new indexes. An     * IllegalArgumentException is thrown if the indexes do not correspond to     * a valid tile.     *     * @param x The horizontal index of the tile.     *     * @param y The vertical index of the new tile.     * */    public void setTile(int x, int y) {        int i;        // Change tile        super.setTile(x,y);                // Reset the decomposed component buffers.        if (reconstructedComps != null) {            for (i=reconstructedComps.length-1; i>=0; i--) {                reconstructedComps[i] = null;            }        }    }    /**     * Advances to the next tile, in standard scan-line order (by rows then     * columns). An 'NoNextElementException' is thrown if the current tile is     * the last one (i.e. there is no next tile).     * */    public void nextTile() {        int i;        // Change tile        super.nextTile();                // Reset the decomposed component buffers.        if (reconstructedComps != null) {            for (i=reconstructedComps.length-1; i>=0; i--) {                reconstructedComps[i] = null;            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲1区2区3区| 欧美一区二区三区在| 精品少妇一区二区三区免费观看| 中文字幕乱码日本亚洲一区二区| 日韩精品亚洲专区| 色综合久久久久久久久| 国产欧美精品国产国产专区| 免费成人av在线播放| 欧美亚洲一区二区三区四区| 国产精品美女www爽爽爽| 韩国欧美国产一区| 91麻豆精品国产自产在线 | 日韩欧美一级二级三级久久久| 最新国产の精品合集bt伙计| 国产精品一区二区三区乱码| 欧美一区二区三区四区视频 | 日韩欧美激情四射| 亚洲v中文字幕| 91国偷自产一区二区开放时间| 欧美高清在线视频| 国产精品综合一区二区三区| 日韩美女主播在线视频一区二区三区| 洋洋成人永久网站入口| 久久久国产综合精品女国产盗摄| 日本不卡一区二区三区高清视频| 欧美亚洲尤物久久| 亚洲综合偷拍欧美一区色| 成人黄色综合网站| 中文在线一区二区| 国产suv精品一区二区883| 久久综合久久综合久久综合| 韩国视频一区二区| 精品免费国产一区二区三区四区| 青草国产精品久久久久久| 5566中文字幕一区二区电影| 天天色图综合网| 欧美老肥妇做.爰bbww| 亚洲sss视频在线视频| 在线观看不卡一区| 亚洲国产一区二区视频| 欧美午夜电影网| 午夜不卡av在线| 欧美日韩成人一区二区| 香蕉影视欧美成人| 欧美福利一区二区| 麻豆91在线播放| 欧美成va人片在线观看| 国产在线精品一区二区| 久久久久久97三级| 成人性生交大片免费看视频在线 | 国产精品进线69影院| 成人福利视频在线看| 亚洲欧美一区二区视频| 91丨porny丨最新| 亚洲午夜私人影院| 日韩一区二区免费在线电影| 精品一区二区在线观看| 久久亚洲综合av| 成人av网址在线| 一区二区三区四区五区视频在线观看 | 色婷婷av一区二区三区大白胸| 国产精品视频一二| 91社区在线播放| 婷婷久久综合九色综合绿巨人| 91精品国产综合久久久蜜臀图片| 精品系列免费在线观看| 国产欧美一区二区精品秋霞影院| 99riav一区二区三区| 亚洲国产日日夜夜| 精品久久久网站| av亚洲精华国产精华| 亚洲狠狠爱一区二区三区| 日韩午夜激情电影| 丁香天五香天堂综合| 综合在线观看色| 欧美电影一区二区三区| 欧美成人精品二区三区99精品| 国产99久久久国产精品| 亚洲精品免费在线观看| 91精品国产色综合久久不卡电影| 国产尤物一区二区| 最新国产成人在线观看| 欧美精选午夜久久久乱码6080| 国产乱国产乱300精品| 亚洲精品日日夜夜| 日韩欧美国产电影| 91在线porny国产在线看| 日精品一区二区| 欧美高清在线视频| 欧美一区永久视频免费观看| 国产成人精品三级麻豆| 亚洲成人自拍一区| 国产免费久久精品| 91精品欧美综合在线观看最新| 国产jizzjizz一区二区| 亚洲123区在线观看| 欧美极品少妇xxxxⅹ高跟鞋 | 色综合天天天天做夜夜夜夜做| 日韩中文欧美在线| 国产精品久久久久久户外露出| 欧美猛男超大videosgay| 岛国精品在线观看| 免费一级片91| 亚洲欧美日韩国产中文在线| 精品国产精品网麻豆系列| 91国偷自产一区二区使用方法| 国产主播一区二区| 亚洲 欧美综合在线网络| 亚洲欧美在线视频观看| 精品人在线二区三区| 欧美三电影在线| 成人国产精品免费| 精品夜夜嗨av一区二区三区| 亚洲成人午夜电影| 国产精品久久久久aaaa| 亚洲精品一区二区三区香蕉| 欧美日韩一区中文字幕| 91在线观看高清| 懂色av中文字幕一区二区三区| 蜜桃久久精品一区二区| 亚洲自拍偷拍麻豆| 亚洲图片激情小说| 久久精品人人做| 欧美成人性战久久| 538在线一区二区精品国产| 在线观看成人小视频| 99国产精品久久久| 国产成人精品免费在线| 久久精品国产精品亚洲红杏| 午夜精品久久久久久久| 一区二区三区四区国产精品| 国产精品家庭影院| 国产日韩综合av| 久久久久国产精品人| 精品国产1区二区| 91精品国产色综合久久ai换脸 | 99精品偷自拍| 成人晚上爱看视频| 国产福利视频一区二区三区| 久久国产精品99久久人人澡| 日韩成人伦理电影在线观看| 亚洲电影中文字幕在线观看| 亚洲午夜一区二区三区| 亚洲一区二区三区小说| 一区二区三区丝袜| 亚洲一区二区3| 亚洲五月六月丁香激情| 亚洲午夜一区二区三区| 亚洲一区免费观看| 一区二区三区欧美久久| 亚洲卡通动漫在线| 亚洲精品日韩综合观看成人91| 亚洲嫩草精品久久| 一区二区日韩av| 亚洲欧美一区二区三区国产精品 | 亚洲精品大片www| 中文字幕一区二区三区av| 国产精品国产成人国产三级| 日韩一区在线看| 成人欧美一区二区三区黑人麻豆| 国产精品国产三级国产专播品爱网| 国产精品视频第一区| 国产精品久久久久久久浪潮网站 | 日韩一级成人av| 日韩精品一区二区三区视频 | xvideos.蜜桃一区二区| 久久亚洲捆绑美女| 国产婷婷色一区二区三区四区| 欧美高清在线一区二区| 亚洲色图19p| 性欧美大战久久久久久久久| 亚洲18女电影在线观看| 毛片不卡一区二区| 久久99国产精品久久99果冻传媒| 黄色资源网久久资源365| 粗大黑人巨茎大战欧美成人| 91视视频在线观看入口直接观看www| 欧美综合一区二区| 欧美一区二区在线观看| 久久蜜桃av一区精品变态类天堂 | 亚洲成av人影院| 美女视频免费一区| 国产精品一区在线观看乱码| 成人精品视频一区| 日本高清免费不卡视频| 欧美精品1区2区| 久久九九全国免费| 亚洲精品中文字幕乱码三区| 五月婷婷久久综合| 黄网站免费久久| 94色蜜桃网一区二区三区| 欧美日韩免费视频| 久久精品亚洲乱码伦伦中文| 亚洲少妇屁股交4| 午夜伊人狠狠久久| 国内精品免费**视频| 色综合一个色综合| 欧美一区二区视频在线观看2020 | 亚洲女同女同女同女同女同69| 爽好久久久欧美精品|