資源簡介
主要實現了彩色圖像的顏色遷移技術,這里邊主要是基于我網上看到的一部分內容寫的。
代碼片段和文件信息
%%%顏色遷移--color?transfer
function?swgc=swatchcolortransfer(swgswchwinsizejit)
????%swg--灰度圖像矩陣
????%swc--彩色圖像矩陣(三頁面24位真彩色圖像)
????%hwin--濾波窗口的大小
????%sizejit--隨機采樣點數,一般根據彩色圖像的大小取50、100、200等等
????swg=double(swg);
????swc=double(swc);
????sizewin=2*hwin+1;
????
????%彩色圖像的顏色空間轉換(from?RGB?space?to?lab)
????labsw=rgblab(swc0);
????%求均值、方差
????ms=zeros(32);
????ms(11)=mean2(labsw(::1));
????ms(12)=std2(labsw(::1));
????ms(21)=mean2(labsw(::2));
????ms(22)=std2(labsw(::2));
????ms(31)=mean2(labsw(::3));
????ms(32)=std2(labsw(::3));
????
????%數據校正
????uc=mean2(labsw(::1));
????dc=std2(labsw(::1));
????ug=mean2(swg(::1));
????dg=std2(swg(::1));
????if?dg~=0
???????labsw(::1)=(labsw(::1)-uc).*(dg/dc)+ug;?
????end
????
????%求顏色轉移時的匹配矢量
????ucv0=colfilt(labsw(::1)[sizewinsizewin]‘sliding‘@mean);
????dcv0=colfilt(labsw(::1)[sizewinsizewin]‘sliding‘@std);
????ugv0=colfilt(swg(::1)[sizewinsizewin]‘sliding‘@mean);
????dgv0=colfilt(swg(::1)[sizewinsizewin]‘sliding‘@std);
????
????[mc?nc]=size(labsw(::1));
????[mg?ng]=size(swg(::1));
????ucv=ucv0(1+hwin:mc-hwin1+
- 上一篇:帶跳躍的GARCH模型MATLAB程序
- 下一篇:landmarc定位算法
評論
共有 條評論