www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_10_1_dct_blockproc.m
clear all;clc;close all;imtool close all %% 夋憸偺撉崬傒 I = imread('saturn.png'); figure; imshow(I); %% YCbCr怓嬻娫傊曄姺 YCbCr = rgb2ycbcr(I); Y = YCbCr(:,:,1); % 偙偙偱偼Y偺傒DCT曄姺 imshow(Y);shg %% 2師尦棧嶶僐僒僀儞曄姺 fun = @(block_struct) dct2(block_struct.data); % 柍柤娭悢偺僴儞僪儖:僇僢僐撪偵柍柤娭悢偺堷悢丅僗僥乕僩儊儞僩偼1偮偺傒壜丅 DCT = blockproc(Y, [8 8],fun); % fun偵僽儘僢僋峔憿懱傪搉偡:昁梫偵墳偠偰'BorderSize'傪巜掕 imtool(log(abs(DCT)+1),[]); % 寢壥偺昞帵 %% 廔椆 %% 暋悢偺CPU僐傾傪梡偄偨暲楍寁嶼僆僾僔儑儞乮Parallel Computing Toolbox昁梫乯 % 暲楍寁嶼梡偺 MATLAB 僙僢僔儑儞偺僾乕儖傪奐偔 parpool %% 暲楍僆僾僔儑儞柍偟 tic; % 張棟帪娫偺應掕 DCT = blockproc(Y, [8 8],fun); % fun偵僽儘僢僋峔憿懱傪搉偡 t1=toc %% 暲楍寁嶼僆僾僔儑儞傪僆儞 tic; DCT = blockproc(Y, [8 8],fun, 'UseParallel', true); t2=toc %% 幚峴懍搙夵慞偺妱崌傪寁嶼 t2/t1 %% 暲楍寁嶼梡偺 MATLAB 僙僢僔儑儞偺僾乕儖傪暵偠傞 delete(gcp('nocreate')) %% % Copyright 2014 The MathWorks, Inc.