基于matlab图像锐化处理
2009-05-13 20:26
651 查看
1:priwitt锐化方法
>> x=imread('6.bmp');
>> [m,n]=size(x);
>> m
m =
512
>> n
n =
1536
>> figure,imshow(x);
>> x=double(x);
>> figure,imshow(x);
>> b=zeros(m,n);
>> c=zeros(m,n);
>> figure,imshow(c);
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2);
c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+100;
%这儿处理有两种方式,绝对值和统一加一个数,不同的处理会得到不同的效果
%if b(i+1,j+1)<0
% b(i+1,j+1)=-b(i+1,j+1);
%end
end
end
figure;imshow(uint8(b))
>> clear
>> x=imread('10.gif');
>> [m,n]=size(x);
>> m
m =
354
>> n
n =
500
>>
figure,imshow(x);这个结果说明:彩色图像的处理上显然是不同与黑白图像,
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2); c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+1000;
end
end
figure ;imshow(uint8(b))
所以很奇怪了
完整代码:
x=imread('5.bmp');
[m,n]=size(x);
figure,imshow(x);
x=double(x);
b=zeros(m,n);
c=zeros(m,n);
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2);
c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+100;
%这儿处理有两种方式,绝对值和统一加一个数,不同的处理会得到不同的效果
%if b(i+1,j+1)<0
% b(i+1,j+1)=-b(i+1,j+1);
%end
end
end
figure;imshow(uint8(b))
另一个实验情况如下:
一个二值静态无污染图像的锐化
>> x=imread('6.bmp');
>> [m,n]=size(x);
>> m
m =
512
>> n
n =
1536
>> figure,imshow(x);
>> x=double(x);
>> figure,imshow(x);
>> b=zeros(m,n);
>> c=zeros(m,n);
>> figure,imshow(c);
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2);
c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+100;
%这儿处理有两种方式,绝对值和统一加一个数,不同的处理会得到不同的效果
%if b(i+1,j+1)<0
% b(i+1,j+1)=-b(i+1,j+1);
%end
end
end
figure;imshow(uint8(b))
>> clear
>> x=imread('10.gif');
>> [m,n]=size(x);
>> m
m =
354
>> n
n =
500
>>
figure,imshow(x);这个结果说明:彩色图像的处理上显然是不同与黑白图像,
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2); c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+1000;
end
end
figure ;imshow(uint8(b))
所以很奇怪了
完整代码:
x=imread('5.bmp');
[m,n]=size(x);
figure,imshow(x);
x=double(x);
b=zeros(m,n);
c=zeros(m,n);
for i=1:m-2
for j=1:n-2
b(i+1,j+1)=-x(i,j)-x(i+1,j)-x(i+2,j+2)+x(i,j+2)+x(i+1,j+2)+x(i+2,j+2);
c(i+1,j+1)=x(i,j)+x(i,j+1)+x(i,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2);
b(i+1,j+1)=sqrt(b(i+1,j+1)^2+c(i+1,j+1)^2)+100;
%这儿处理有两种方式,绝对值和统一加一个数,不同的处理会得到不同的效果
%if b(i+1,j+1)<0
% b(i+1,j+1)=-b(i+1,j+1);
%end
end
end
figure;imshow(uint8(b))
另一个实验情况如下:
一个二值静态无污染图像的锐化
相关文章推荐
- 基于matlab的图像中心差分处理
- 基于MATLAB图像处理工具箱
- 基于matlab的图像处理-RGB色彩提取方法
- 基于MATLAB图像处理的中值滤波、均值滤波以及高斯滤波的实现与对比
- 基于MATLAB的数字图像处理之直方图处理
- Matlab图像处理学习笔记(二):基于颜色的图像分割
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- 基于直方图均衡化的水下激光图像处理(MATLAB仿真)
- OpenCV图像处理 空间域图像增强(图像锐化 1 基于拉普拉斯算子)
- 基于MATLAB图像处理工具箱
- 基于matlab的数字图像处理GUI设计
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- 基于matlab的GUI图像处理
- 数字图像处理:基于MATLAB的车牌识别项目 标签: 图像处理matlab算法 2017-06-24 09:17 98人阅读 评论(0)
- Matlab图像处理学习笔记(三):基于匹配的目标识别
- Matlab图像处理学习笔记(六):基于sift特征点的人民币识别
- 基于MATLAB的卷积运算处理图像
- 基于直方图均衡化的水下激光图像处理(MATLAB仿真)
- 基于Matlab的图像分块处理
- 数字图像处理:基于MATLAB的车牌识别项目