fleetwgx

1:priwitt锐化方法

>> x=imread(\'6.bmp\');

>> [m,n]=size(x);
>> m

m =

   512

>> n

n =

        1536

>> figure,imshow(x);

image

>> x=double(x);
>> figure,imshow(x);

image

>> b=zeros(m,n);
>> c=zeros(m,n);
>> figure,imshow(c);

image

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))

image

 

>> clear
>>  x=imread(\'10.gif\');

10
>> [m,n]=size(x);
>> m

m =

   354

>> n

n =

   500

>>

figure,imshow(x);这个结果说明:彩色图像的处理上显然是不同与黑白图像,

image

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))

image

所以很奇怪了

完整代码:

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))

另一个实验情况如下:

image

一个二值静态无污染图像的锐化

image

分类:

技术点:

相关文章:

  • 2021-05-22
  • 2021-12-15
  • 2021-04-09
  • 2021-12-13
  • 2021-06-10
  • 2021-12-12
  • 2021-11-05
  • 2021-06-17
猜你喜欢
  • 2021-12-29
  • 2022-12-23
  • 2021-05-07
  • 2021-11-28
  • 2021-06-02
  • 2019-09-12
相关资源
相似解决方案