资源简介
图片的感兴趣区域的提取matlab实现
直接运行go函数即可运行
可视化操作

代码片段和文件信息
clc;clear;close all;
imagefile=‘c‘;
src=imread(strcat(‘imag\‘imagefile‘.jpg‘));
%分块
[heightwidth~]=size(src);
if(height*width<4e+5)scale=4;
else scale=8;
end
temp=mod(widthscale);width=width-temp;
temp=mod(heightscale);height=height-temp;
w=width/scale;h=height/scale;
r=double(src(1:height1:width1));g=double(src(1:height1:width2));b=double(src(1:height1:width3));
ravrg=zeros(hw);%分块均值阵红
gavrg=zeros(hw);%分块均值阵绿
bavrg=zeros(hw);%分块均值阵蓝
color=zeros(hw);%分块颜色阵
colorscale=0;%颜色空间大小
largestscale=100;%最大颜色空间大小
eps=32;%颜色差别阈值
step=9;%滤波窗口
colorspace=repmat([r(11)g(11)b(11)0]largestscale1);colorscale=1;
for countw=1:w
for counth=1:h
ravrg(counthcountw)=mean(mean(r(counth*scale-(scale-1):counth*scalecountw*scale-(scale-1):countw*scale)));
gavrg(counthcountw)=mean(mean(g(counth*scale-(scale-1):counth*scalecountw*scale-(scale-1):countw*scale)));
bavrg(counthcountw)=mean(mean(b(counth*scale-(scale-1):counth*scalecountw*scale-(scale-1):countw*scale)));
for count3=1:colorscale
if( all(abs([ravrg(counthcountw)-colorspace(count31)gavrg(counthcountw)-colorspace(count32)...
bavrg(counthcountw)-colorspace(count33)]) color(counthcountw)=count3;colorspace(count34)=colorspace(count34)+1;break;
else if(colorscale==count3 &&colorscale colorscale=colorscale+1;colorspace(count3+1:)=[ravrg(counthcountw)gavrg(counthcountw)bavrg(counthcountw)1];
color(counthcountw)=count3+1;break;
end
end
end
end
end
delta=0.005;
temp=1:colorscale;
colorarray=temp(colorspace(:4)>delta*h*w);%取有效颜色
ratio=zeros(length(colorarray)25);
%开窗
hh=floor(h/8);ww=floor(w/8);j=1;
for counth=ceil(0.0375*h):ceil(h/5):h+1-hh
for countw=ceil(0.0375*w):ceil(w/5):w+1-ww
for i=1:length(colorarray)
ratio(ij)=sum(sum(color(counth:counth+hh-1countw:countw+ww-1)==colorarray(i)));
end
j=j+1;
end
end
H=[-2-1-0.5-1-2;
-101.50-1;
-0.51.51.51.5-0.5;
-101.50-1;
-2-1-0.5-1-2;];
H=reshape(H251);
result=ratio*H./colorspace(colorarray4);
%epsrslt=max(0.6*max(result)+0.4*min(result)mean(result));%mean([mean(result(result<0))mean(result(result>0))]);
epsrslt=min(0.7*max(result)+0.3*min(result)0.1);
result=colorarray(result>epsrslt);
enable=zeros(1colorscale);
for i=1:length(result)
enable(result(i))=1;
end
[bhbw]=size(color);
btarget=255*ones(heightwidth3);
for counth=1:bh
for countw=1:bw
temp=color(counthcountw);
if(temp)
if(enable(temp))
btarget(counth*scale-(scale-1):counth*scalecountw*scale-(scale-1):countw*scale:)=...
src(counth*scale-(scale-1):counth*scalecountw*scale-(scale-1):countw*scale:);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3121 2011-12-30 13:59 matlab\a.m
文件 11501 2011-12-30 13:55 matlab\go.asv
文件 9803 2012-05-30 20:10 matlab\go.fig
文件 11510 2011-12-30 13:57 matlab\go.m
文件 17147 2011-12-20 21:26 matlab\imag\213.jpg
文件 16560 2011-12-20 21:26 matlab\imag\220.jpg
文件 21274 2011-12-20 21:26 matlab\imag\242.jpg
文件 9144 2011-11-20 22:53 matlab\imag\b.jpg
文件 33500 2011-11-20 22:54 matlab\imag\c.jpg
文件 94577 2011-11-20 22:53 matlab\imag\d.jpg
文件 23930 2011-11-20 22:55 matlab\imag\e.jpg
文件 1446 2011-12-30 13:55 matlab\loadimage.asv
文件 1445 2011-12-30 14:00 matlab\loadimage.m
文件 4954 2011-12-20 21:26 matlab\meanshiftseg.m
文件 1912 2011-12-20 21:26 matlab\MSfilter.m
文件 266 2011-12-20 21:26 matlab\readme.txt
目录 0 2011-12-30 13:58 matlab\imag
目录 0 2011-12-30 13:58 matlab
----------- --------- ---------- ----- ----
262090 18
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论