资源简介
图片的感兴趣区域的提取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
相关资源
- TDOA_AOA定位的扩展卡尔曼滤波算法MA
- 频域整形法构造1/f噪声
- 大时滞系统的模糊控制MATLAB仿真\\大时
- 能量检测matlab代码
- 将二进小波变换用于图像增强的MATL
- matlab基于遗传算法实现的高效排课系
- matlab中ICP点云匹配算法
- 贝叶斯辨识的matlab程序
- 直接序列扩频的MATLAB仿真,以及对应
- 《数字信号处理matlab版》代码
- matlab车牌图像分割
- 多相滤波数字信道化MATLAB源码
-
用GUI实时更改simuli
nk仿真参数 - 基于RBF神经网络的PID控制仿真代码
- RBF插值算法Matlab代码
- DCT基函数图像_MATLAB版本
- Matlab实现M/M/1排队模型
- A率PCM编码MATLAB程序
- matlab三相桥式整流电路仿真模型
- 偏微分图像处理MATLAB程序
- 图像预处理MATLAB代码包括图像去孔洞
- 信号包络提取
- matlab编写的有关图像识别分类方法的
- 穷举法求解0-1整数规划的matlab程序
- 注水定理的算法和matlab仿真
- K最短路问题MATLAB实现
- 基于MATLAB的标准化降水指数SPI计算程
- 随机森林matlab代码
- svm分类器的实现 matlab
- zw_MATLAB程序.zip
评论
共有 条评论