欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配

程序员文章站 2024-03-16 11:51:04
...
  1. 图像旋转处理
    maketform:第一个参数‘affine’放射变换,第二个参数旋转结构参数
    imtransform:‘nearest’ 最近邻插值
    figure:创建一个用来显示图形输出的一个窗口对象
I=imread('rice.jpg');
tform=maketform('affine',[cos(pi/3),sin(pi/6),0;-sin(pi/6),cos(pi/3),0;0,0,1]);
B=imtransform(I,tform,'nearest');
figure;
subplot(1,2,1);
imshow(I);
subplot(1,2,2);
imshow(B);

MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配
2. 基本直方图
i=rgb2gray(i) //把三维图形转换为二维,即黑白图像
imhist(i) //基本直方图图像

i=imread('rice.jpg')
i=rgb2gray(i)
figure;
subplot(1,2,1);
imshow(i);
subplot(1,2,2),imhist(i);

MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配
3.直方图均衡
MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配

直方图均衡化方法可以产生一幅灰度级分布概率均匀的图像。
I=rgb2gray(I); //把三维图形转换为二维,即黑白图像
[B,T]=histeq(I); //进行均匀化处理,B表示返回的图像,T表示均匀化

I=imread('rice.jpg');
I=rgb2gray(I);
[B,T]=histeq(I);
subplot(2,2,1);
imshow(I);
subplot(2,2,2),imhist(I);
subplot(2,2,3),imshow(B);
subplot(2,2,4),imhist(B);

MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配

  1. 直方图匹配
    A=rgb2gray(A); //把三维图形转换为二维,即黑白图像
    [hgram2,x]=imhist(B); //把0-255颜色的数值分为2份,每一份的数量,例:第一份是0-127的数量,第二份是128到255的数量,x:表示把灰度级分为2份,即x轴255分为几等份
A=imread('a.png');
A=rgb2gray(A);
B=imread('rice.jpg');
B=rgb2gray(B);
[hgram2,x]=imhist(B);
J1=histeq(A,hgram2);
figure;
subplot(3,2,1),imshow(A),title('orig Image');
subplot(3,2,2),imhist(A),title('orig hist');
subplot(3,2,3),imshow(B),title('standard Image');
subplot(3,2,4),imhist(B),title('Standard hist');
subplot(3,2,5),imshow(J1),title('Changed Image');
subplot(3,2,6),imhist(J1),title('Changed hist');

MATLAB图像处理,图形旋转处理,基本直方图,归一化直方图,直方图均衡,直方图匹配