图像的点运算1

简介: 图像的点运算1
%% 图像的点运算1
% 一:图像直方图
%灰度直方图描述了一副图像的灰度级统计信息,主要应用于图像分割和图像灰度变换等处理过程中。从数学角度来说,图像直方图描述图像各个灰度级的统计特性,
%它是图像灰度值的函数,统计一幅图像中各个灰度级出现的次数或概率。归一化直方图可以直接反映不同灰度级出现的比率。横坐标为图像中各个像素点的灰度级别,
%纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。
clc;
clear;
A=imread('G:\资料\网课\数模培训\图形处理\2.jpg');
subplot(3,4,1);
imshow(A);
title('原图','Fontsize',15,'Color','b');
B=rgb2gray(A);  %将RGB图转化为灰度图
%[M,N]=size(B);  %计算图像大小
subplot(3,4,2);
imhist(B);       %直接统计该图的灰度,灰度图为256个等级
title('直接统计各灰度','Fontsize',15,'Color','b');
subplot(3,4,3);
imhist(B,64);   % 将直方图均分为64个等级,默认为256个等级
title('分为64个等级统计各灰度','Fontsize',15,'Color','b');
[counts,x]=imhist(B,32); % 获取直方图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数
subplot(3,4,4);
pie(x,counts);  %饼图
title('分为32级的饼图','Fontsize',15,'Color','b');
subplot(3,4,5);
stem(x,counts);   % 通过刚才得到的值,绘制条形图。
title('分为32级的条形图','Fontsize',15,'Color','b');
subplot(3,4,6);
plot(x,counts);  %折线图
title('分为32级的折线图','Fontsize',15,'Color','b');
subplot(3,4,7);
bar(x,counts);   %柱状图
title('分为32级的柱状图','Fontsize',15,'Color','b');
subplot(3,4,8);
pie3(x,counts);  %3维饼图
title('分为32级的3维饼图','Fontsize',15,'Color','b');
%% 图像灰度线性变换
C=imadjust(B,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1]
subplot(3,4,9);
imshow(C);
title('线性变换[0.1 0.5]','Fontsize',15,'Color','b');
subplot(3,4,10);
imshow(imadjust(B,[0.3 0.7],[]));
title('线性变换[0.3 0.7]','Fontsize',15,'Color','b');
%% 图像灰度的对数变换
C=fft2(im2double(B));  %FFT
C=fftshift(C);        %FFT频谱平移
%C=abs(C);
C1=log(C+1);
subplot(3,4,11);
imshow(C);
title('没有频谱变换');
subplot(3,4,12);
imshow(C1);
title('对数变换后');
%%
% 一般情况下是可以直接绘制图形的直方图,如果说我们有一个矩阵,要绘制直方图,可以强制转数据类型
%A=[1 1 1 1 2 2 56 5 65 56 78 9 9 9 9 55 44 44 44];
%B=uint8(A);
%imhist(B)
% 这样将B进行强制转换后,就可以认为其是一幅图片,就能用  imhist 了
% 可以转化为 uint8、uint16、等。和图片的类型相对应即可。

输出:

cb1110fce5de589bd268f09a039cf8a6_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzc2NDk3NA==,size_16,color_FFFFFF,t_70#pic_center.jpg

相关文章
|
8月前
图像表示方法
图像表示方法
73 0
|
C++ 计算机视觉
C++-图像目标区裁剪ImageCropping
C++-图像目标区裁剪ImageCropping
109 0
|
数据可视化 算法 数据挖掘
使用Gabor滤镜对图像进行纹理分割
演示如何使用纹理分割根据纹理识别区域。目标是将狗从浴室地板上分开。由于浴室地板的规则、周期性图案与狗皮毛规则、光滑的纹理之间的质地差异,这种分割在视觉上很明显。
178 0
|
自然语言处理 计算机视觉 C++
图像基础二(上)
图像基础二(上)
170 0
图像基础二(上)
|
机器学习/深度学习 编解码 人工智能
图像基础二(下)
图像基础二(下)
195 0
图像基础二(下)
|
存储 计算机视觉
第5讲 相机与图像
第5讲 相机与图像
133 0
第5讲 相机与图像
|
机器学习/深度学习 算法 计算机视觉
图像数据与边缘检测
图像数据与边缘检测
162 0
图像数据与边缘检测
|
算法 Java 计算机视觉
图像相似度比较和检测图像中的特定物
图像相似度比较和检测图像中的特定物
632 0
图像相似度比较和检测图像中的特定物
提取图像中的色彩空间和坐标值
提取图像中的色彩空间和坐标值
178 0
|
机器学习/深度学习 人工智能 大数据
StarGAN - 图像到图像的翻译
StarGANs用来做什么?
561 0

热门文章

最新文章

下一篇
开通oss服务