该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

A=imread('lin13.bmp'); %输入淋淋图像名字

imshow(A);

hold on;

Threshold = 1;

UniBack=[0 0 255];

% choose background object, and B results into the Foreground Object and the

% Boundary Region

% choose the outer line of the boundary region. Single left click the mouse to specify vertice.Double left click or single right click to finish;

OuterBW = roipoly(A);

B(:,:,1) = immultiply(A(:,:,1),OuterBW);

B(:,:,2) = immultiply(A(:,:,2),OuterBW);

B(:,:,3) = immultiply(A(:,:,3),OuterBW);

Back(:,:,1) = immultiply(A(:,:,1),~OuterBW);

Back(:,:,2) = immultiply(A(:,:,2),~OuterBW);

Back(:,:,3) = immultiply(A(:,:,3),~OuterBW); imshow(B);

% choose foreground object, and C results into a Circle of Interest

% choose the inner line of the boundary region. Single left click the mouse to specify vertice.Double left click or single right click to finish;

InnerBW = roipoly(B);

C(:,:,1) = immultiply(B(:,:,1),~InnerBW);

C(:,:,2) = immultiply(B(:,:,2),~InnerBW);

C(:,:,3) = immultiply(B(:,:,3),~InnerBW);

Fore(:,:,1) = immultiply(A(:,:,1),InnerBW);

Fore(:,:,2) = immultiply(A(:,:,2),InnerBW);

Fore(:,:,3) = immultiply(A(:,:,3),InnerBW);

imshow(C);

hold off;

RawAlpha = (double(OuterBW)+double(InnerBW))/2;

I = double(A);

% Method of "averaging" to get raw fore and background colors

for i = 1:size(RawAlpha,1)

for j = 1:size(RawAlpha,2)

RawFore(i,j,1)=0;

RawFore(i,j,2)=0;

RawFore(i,j,3)=0;

RawBack(i,j,1)=0;

RawBack(i,j,2)=0;

RawBack(i,j,3)=0;

if RawAlpha(i,j) == 1

RawFore(i,j,:)=Fore(i,j,:);

end;

if RawAlpha(i,j) == 0

RawBack(i,j,:)=Back(i,j,:);

end;

if RawAlpha(i,j) == 0.5

r=1;

while 1

TestFore = InnerBW(max(i-r,1):min(i+r,size(A,1)),max(j-r,1):min(j+r,size(A,2)));

if size(find(TestFore),1)

[i1, j1] = find(TestFore);

i2 = i1 + max(i-r,1) -1;

j2 = j1 + max(j-r,1) -1;

Rs = double(Fore(i2,j2,:));

Ds(:,1)=diag(Rs(:,:,1));

Ds(:,2)=diag(Rs(:,:,2));

Ds(:,3)=diag(Rs(:,:,3));

if size(Ds,1) == 1

RawFore(i,j,:) =Ds;

else

RawFore(i,j,:) = sum(Ds) / size(Ds,1);

end;

clear Ds;

break;

else

r=r+1;

end;

end;

r=1;

while 1

TestBack = ~OuterBW(max(i-r,1):min(i+r,size(A,1)),max(j-r,1):min(j+r,size(A,2)));

if size(find(TestBack),1)

[i1, j1] = find(TestBack);

i2 = i1 + max(i-r,1) -1;

j2 = j1 + max(j-r,1) -1;

Rs = double(Back(i2,j2,:));

Ds(:,1)=diag(Rs(:,:,1));

Ds(:,2)=diag(Rs(:,:,2));

Ds(:,3)=diag(Rs(:,:,3));

if size(Ds,1) == 1

RawBack(i,j,:) =Ds;

else

RawBack(i,j,:) = sum(Ds) / size(Ds,1);

end;

clear Ds;

break;

else

r=r+1;

end;

end;

end;

end;

end;

%此处没有用高斯滤波

Denorm = RawFore - RawBack;

%red channel

I1 = I(:,:,1);

Denorm1 = Denorm(:,:,1);

for i=1:size(Denorm1,1)

for j= 1: size(Denorm1,2)

if Denorm1(i,j)==0

Denorm1(i,j)=1;

end;

end;

end;

OldAlpha = RawAlpha;

NewAlpha = RawAlpha;

h1=0;

while 1

for i=1:size(OldAlpha,1)

for j=1:size(OldAlpha,2)

NewAlpha(i,j) = OldAlpha(i,j);

if RawAlpha(i,j) == 0.5

Roui = ((I1(i+1,j) + I1(i-1,j) - 2 * I1(i,j)) * Denorm1(i,j) - (I1(i+1,j) - I1(i,j)) * (Denorm1(i+1,j) - Denorm1(i,j)))/(Denorm1(i,j) * Denorm1(i,j));

Rouj = ((I1(i,j+1) + I1(i,j-1) - 2 * I1(i,j)) * Denorm1(i,j) - (I1(i,j+1) - I1(i,j)) * (Denorm1(i,j+1) - Denorm1(i,j)))/(Denorm1(i,j) * Denorm1(i,j));

Rou = Roui + Rouj;

NewAlpha(i,j) = (OldAlpha(i+1,j) + NewAlpha(i-1,j) + OldAlpha(i,j+1) + NewAlpha(i,j-1) - Rou) / 4;

if NewAlpha(i,j)<0

NewAlpha(i,j)=0;

end;

if NewAlpha(i,j)>1

NewAlpha(i,j)=1;

end;

end;

end;

end;

% imshow(uint8(NewAlpha*255));

DifferenceAlpha = abs(NewAlpha - OldAlpha);

OldAlpha = NewAlpha;

if sum(sum(DifferenceAlpha)) < Threshold

break;

end;

h1=h1+1;

end;

for i=1:size(A,1)

for j=1:size(A,2)

if OldAlpha(i,j)==0

NewImage(i,j,:)=UniBack';

else

NewImage(i,j,1)=UniBack(1)*(1-OldAlpha(i,j))+RawFore(i,j,1)*OldAlpha(i,j);

NewImage(i,j,2)=UniBack(2)*(1-OldAlpha(i,j))+RawFore(i,j,2)*OldAlpha(i,j);

NewImage(i,j,3)=UniBack(3)*(1-OldAlpha(i,j))+RawFore(i,j,3)*OldAlpha(i,j);

end;

end;

end;

figure,imshow(NewAlpha);

figure,imshow(uint8(NewImage));

figure,imshow(uint8(RawFore));

figure,imshow(uint8(RawBack));

matlab高级教程,【高级教程】利用高级计算软件MATLAB抠图教程相关推荐

  1. 直扩 单音干扰抑制 matlab,数学计算软件MATLAB资料集锦分享

    数学计算软件MATLAB资料集锦分享 (2014-08-20 17:07:08) 标签: matlab 数学建模 仿真模拟 整理了一些有关MATLAB资料如下: 1.H型可逆PWM变换器的控制方式解析 ...

  2. 数学计算软件(Matlab、Mathematica)网页版

    有时候会用到Matlab及Mathematica的数值计算或者符号计算功能,但是去安装一下太麻烦,而且毕竟不是常用,所以有了这样的需求. 在网上搜了下,发现真没这样的网站,可能也涉及到版权的问题,所以 ...

  3. ps海报合成教程_如何利用PS制作海报?详细教程来了!

    今天能学长给大家带来一套利用PS做[月满中秋]海报的教程.福利干货到,请大家接住! 话不多说,直接上教程[月满中秋-第一课] 月满中秋-海报制作教程https://www.zhihu.com/vide ...

  4. 宝塔搭建网站教程php,怎么利用宝塔面板搭建网站详细教程

    利用宝塔面板搭建网站是当前主流形式,宝塔面板操作简单,可视化操作,是新手和老司机搭建网站的首选.今天我的主题网就给小白们分享下怎么利用宝塔搭建自己的网站.如果你还没有安装宝塔可以参考:宝塔面板安装小白 ...

  5. 利用辐射光谱计算温度 matlab,时间调制型FTIR光谱仪辐射度定标方法的研究

    1引言近年来,由于时间调制型FTIR自身具有灵敏度高.光谱分辨率高和波数准确度高等优点,其在实际中的应用越来越多,无论是军用.工业应用还是民用,时间调制型FTIR都有着广阔的应用前景[1-5].辐射度 ...

  6. matlab利用经纬度计算距离,MATLAB函数可计算两个坐标(纬度和经度)之间的距离...

    How can I calculate distance between two world map coordinates (latitude and longitude) using MATLAB ...

  7. matlab如果不想立即在,科学计算与MATLAB 1.5

    单元测验已完成成绩:100.0分 1 [单选题] MATLAB一词来自()的缩写. 窗体顶端 A. MathematicaLaboratory B. MatrixLaboratory C. MathW ...

  8. 科学计算软件matlab无法使用,谁能研发Matlab?

    先说文章观点:呼吁类似达摩院的科研企业联合投入研发Matlab. 一纸禁文: 哈尔滨工业大学(哈工大).哈尔滨工程大学.北航等中国高校的师生先后发现,自己在使用被称作"工科神器"的 ...

  9. 矩阵半高宽matlab,半导体激光器半高宽(FWHM)计算(包含matlab仿真程序)

    半导体激光器半高宽(FWHM)计算 一.问题描述 Estimate the spot size (FWHM) in the lateral and transverse directions for ...

最新文章

  1. 2018/12/05 PAT刷题 L1-018 大笨钟 Java
  2. PAT_B_1086_Java(15分)
  3. golang fmt.Print(15 == 1_5)
  4. Doule类型转成十六进制查看
  5. 使用PS2EXE将PowerShell脚本编译为可执行程序
  6. Java中关于字符类型在Unicode表中表示
  7. SPSS的下载和使用经历
  8. 车牌识别计算机应用领域,车牌识别全方位应用 引领智能交通新趋势
  9. 深度linux deepin 内存,【转载】深度Deepin国产操作系统使用体验报告!
  10. 科技的终极目标是什么
  11. 程序员的黑砖窑,东南亚博彩骗局详解
  12. jmeter显示桌面快捷方式图标
  13. 一只喵的西行记-12 灯火阑珊处那娃在哭
  14. 用easyx图形库做一个简单的c++小游戏---迷宫游戏
  15. 流行20年的架构设计原则SOLID可能已经不适合微服务了
  16. svn下载安装与使用教程/方法
  17. 苹果5G芯片研发失败:继续依赖高通,还要担心被起诉?
  18. 欧阳修与梅尧臣:逢君伊水畔,一见已开颜
  19. 富士康本科计算机,富士康计算机 南开大学【深圳成考】
  20. 公钥私钥及ssh公钥无密码登录

热门文章

  1. linux反tp补丁,lol反tp补丁
  2. Bilibili笔试
  3. iDigital2019数字营销广告主峰会
  4. 山寨版“开心网”频出拷问网络知识产权保护
  5. 【周末闲谈】AI作图,你真的了解它吗?
  6. 怎么用手机看fc2高清视频,详细图文方法
  7. java开发excel导入导出工具类基于EasyExcel
  8. 芝麻http和豌豆http使用
  9. 自学成才的机器学习工程师
  10. 布局处于键盘之上以及艾特功能