资源简介
算法速度很快哦,只要0.4秒,风格效果稳定,用了cameraman测试的

代码片段和文件信息
%景晓军文章中的二维直方图
clear;
clc;
tic
a=imread(‘d:\image\xx.jpg‘‘jpg‘); %Read a image
%a=imread(‘d:\image\clock.tif‘‘tif‘);
%a=imread(‘d:\image\zhuangjia.tiff‘‘tiff‘);
%a=a(::1);
% % a=M;
% %load(‘source_N0.02.mat‘);
% %a=X;
%a=imread(‘syn1-g2.gif‘);
%load(‘装甲车N_0.01.mat‘);
%a=b;
%a=noise_h;
subplot(121);
imshow(a);
[mn]=size(a);
%b=imnoise(a‘salt & pepper‘0.003);
%b=imnoise(b‘gaussian‘00.0015);
%b = IMNOISE(a‘speckle‘0.09);
%b=a;
a0=double(a);
h=1;
a1=zeros(mn);
% 计算平均领域灰度的一维灰度直方图
for i=1:m
for j=1:n
for k=-h:h
for w=-h:h;
p=i+k;
q=j+w;
if (p<=0)|( p>m)
p=i;
end
if (q<=0)|(q>n)
q=j;
end
a1(ij)=a0(pq)+a1(ij);
end
end
a2(ij)=uint8(1/9*a1(ij));
end
end
fxy=zeros(256256);
% 计算二维直方图
for i=1:m
for j=1:n
c=a0(ij);
d=double(a2(ij));
fxy(c+1d+1)=fxy(c+1d+1)+1;
end
end
% figure
% mesh(fxy);
% title(‘二维灰度直方图‘);
Pxy=fxy/m/n;
P0=zeros(256256);
Ui=zeros(256256);
Uj=zeros(256256);
P0(11)=Pxy(11);
for i=2:256
P0(1i)=P0(1i-1)+Pxy(1i);
end
for i=2:256
P0(i1)=P0(i-11)+Pxy(i1);
end
for i=2:256
for j=2:256
P0(ij)=P0(ij-1)+P0(i-1j)-P0(i-1j-1)+Pxy(ij);
end
end
P1=ones(256256)-P0;
Ui(11)=0;
for i=2:256
Ui(1i)=Ui(1i-1)+(1-1)*Pxy(1i);
end
for i=2:256
Ui(i1)=Ui(i-11)+(i-1)*Pxy(i1);
end
for i=2:256
for j=2:256
Ui(ij)=Ui(ij-1)+Ui(i-1j)-Ui(i-1j-1)+(i-1)*Pxy(ij);
end
end
Uj(11)=0;
for i=2:256
Uj(1i)=Uj(1i-1)+(i-1)*Pxy(1i);
end
for i=2:256
Uj(i1)=Uj(i-11)+(1-1)*Pxy(i1);
end
for i=2:256
for j=2:256
Uj(ij)=Uj(ij-1)+Uj(i-1j)-Uj(i-1j-1)+(j-1)*Pxy(ij);
end
end
uti=0;
utj=0;
for i=1:256
for j=1:256
uti=uti+(i-1)*Pxy(ij);
utj=utj+(j-1)*Pxy(ij);
end
end
% for i=1:256
% for j=1:256
% Ui1(ij)=Ui(256256)-Ui(ij);
% Uj1(ij)=Uj(256256)-Uj(ij);
% end
% end
%计算类间方差
hmax=0;
for i=1:256
for j=1:256
if P0(ij)~=0&P1(ij)~=0
h(ij)=((uti*P0(ij)-Ui(ij))^2+(utj*P0(ij)-Uj(ij))^2)/(P1(ij)*P0(ij));
else
h(ij)=0;
end
end
end
hmax=max(h(:));
for i=1:256
for j=1:256
if h(ij)==hmax
s=i-1;
t=j-1;
continue;
end
end
end
hmax
s
t
z=ones(mn);
%c=zeros(mn);
for i=1:m
for j=1:n
if a(ij)<=s&a2(ij)<=t
%if double(b(ij))+double(a2(ij))<=s+t
z(ij)=0;
end
end
end
%imwrite(z‘D:\MATLAB7\work\feng\文章涉及到的\曲线otsu\曲线otsu实验结果\baboon\wuprocess.jpg‘);
%imwrite(z‘D:\MATLAB7\work\feng\文章涉及到的\曲线otsu\曲线otsu实验结果\baboon\you_process.jpg‘);
%imwrite(uint8(b)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3208 2007-05-22 16:43 otsu_2d.m
----------- --------- ---------- ----- ----
3426 2
- 上一篇:SLIC的源码
- 下一篇:matlab实现的等间隔量化的HSV颜色特征
相关资源
- Dstar(动态路径规划)算法62845
- 基于区域生长的图像分割MATLAB
- 实现2ask.4ask.2fsk.4fsk.qam16.qam8调制的m
- 细胞图像分割matlab代码
- Alamouti编码2X2仿真(MATLAB)
- RESTplus V1.21 Manual(共100页)
- Matlab图像分割边缘提取算法
- Tarel-visibresto2
- 用matlab写的有限元程序-FEM2DL_Box.m
- 手把手教你学DSP--基于TMS320C55x光盘 含
- MATLAB电机仿真精华50例源代码269078
- 用MATLAB-DFT2D DCT2D
- 列车时刻表数据库2013-03全
- MATLAB R2007基础教程刘慧颖 编著--源代
- 世上最牛的23个图像跟踪算法MATLAB程序
- matlab2007B数模乘公交看奥运_搜索法+
- Matlab电机仿真实例230692
- matlab人脸识别217995
- 基于lab空间的图像分割
- matlab2019运动目标检测--数字图像处理
- 暗通道去雾MATLAB205097
- ibsvm-3.21
- 强化学习代码,2016版,matlab
- 卡尔曼滤波MATLAB代码170027
- 自动控制原理课程设计2019.rar
-
Simuli
nk TI C2000 DSP 硬件支持包离线安 - MATLAB大脑腔体图像分割
- 经纬度转高斯平面坐标
- 刘慧颖 MATLAB R2007基础教程
- LAB空间分别提取红色、绿色、紫色、
评论
共有 条评论