【matlab图像处理】图像直方图操作和matlab画图

这篇具有很好参考价值的文章主要介绍了【matlab图像处理】图像直方图操作和matlab画图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

中国史之【平王东迁】:
公元前771年,因镐京曾遭地震,残破不堪,又接近戎、狄等外患威胁,周平王遂在郑、秦、晋等诸侯的护卫下,将国都东迁至洛邑,东周历史由此开始。
——来源:全历史APP

【路漫漫其修远兮,吾将上下而求索】

今天介绍图像的直方图操作以及用matlab画条形图、杆图和折线图。本内容参考自《实用MATLAB图像和视频处理》第9章。

  • 对于matlab2021的安装,可以参考公众号【CV之道】的文章:【matlab安装】手把手图文并茂安装matlab2021(win10版)

1、图像直方图显示

在matlab中,显示一幅图像的直方图,可以使用函数imhist。废话少说,直接看代码:

% 显示直方图
I = imread('circuit.tif');
figure, subplot(2,2,1), imshow(I), title('原图')
% 划分为256个灰度级
subplot(2,2,2), imhist(I,256), axis tight, title('直方图')
【matlab图像处理】图像直方图操作和matlab画图
上面256个灰度级是默认的参数,就是绘制256个直方条的直方图。我们看一下绘制为64和32的效果:
% 划分为64个灰度级
subplot(2,2,3), imhist(I,64), axis tight, title('直方图64级') 

% 划分为256个灰度级
subplot(2,2,4), imhist(I,32), axis tight, title('直方图32级')
【matlab图像处理】图像直方图操作和matlab画图

可以看到,整体变稀疏了,但是分布整体还是在的。值得注意的是,使用了axis tight这个参数,表示y轴的范围来自数据的范围。

可以看到,划分为256级的时候,y轴最大为2000。划为32级的时候,y轴最大为8000。因为总的像素数不变,划分级数更少,表明每个级数所包含的像素个数增多了。

2、条形图归一化y轴

我们可以探索一下这个问题,对y轴范围进行归一化。

% 归一化
c = imhist(I, 32);
% numel(I)表示该图像的像素数,这里是280x272=76160
c_norm = c / numel(I);
figure, subplot(1,2,1);
% 定制条形图
bar_1 = bar(c);
set(gca, 'XLim', [0 32], 'YLim', [0 max(c)]); % gca是当前轴,设置轴范围
set(gca, 'XTick', [0:8:32], 'YTick', [linspace(0,7000,8) max(c)]); % 设置轴显示数据范围
set(bar_1, 'FaceColor', 'r'), title('条形图'); % 设置颜色和标题

% 显示归一化的图
subplot(1,2,2);
bar_2 = bar(c_norm);
set(gca, 'XTick', [0:8:32], 'YTick', [linspace(0,0.09,10) max(c_norm)])
xlim([0 32]), ylim([0 max(c_norm)])
title('归一化条形图')
set(bar_2, 'FaceColor', 'g')

其中, numel(I)表示该图片的像素总数,280x272=76160。归一化y轴的图片如下:

【matlab图像处理】图像直方图操作和matlab画图

3、杆图或折线图归一化y轴

另外,我们也可以换一种显示风格,如显示杆图。

% 显示杆图
figure,
subplot(1,2,1), stem(c, 'fill', 'MarkerFaceColor', 'red'), axis tight, title('杆图')
subplot(1,2,2), stem(c_norm, 'fill', 'MarkerFaceColor', 'blue'), axis tight, title('归一化杆图')
【matlab图像处理】图像直方图操作和matlab画图

显示折线图:

% 显示折线图
figure,
subplot(1,2,1), plot(c), axis auto, title('折线图')
subplot(1,2,2), plot(c_norm), axis auto, title('归一化折线图')
【matlab图像处理】图像直方图操作和matlab画图

以上是本期内容,建议自己动手来实践一下。如果需要图片和代码,可以关注公众号,回复关键字【matlab代码】即可获得。我会上传到云盘。

【声明】:学习笔记基于互联网上各种学习资源的个人整理。

以上是本期内容,下期介绍图像处理的直方图均衡化操作。

我叫小保,一名计算机视觉爱好者、学习者、追随者,欢迎关注我【CV之道】一起学习。文章来源地址https://www.toymoban.com/news/detail-440178.html

到了这里,关于【matlab图像处理】图像直方图操作和matlab画图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 彩色图像处理之彩色图像直方图处理的python实现——数字图像处理

    彩色图像的直方图处理是一种重要的图像处理技术,用于改善图像的视觉效果,增强图像的对比度,或为后续的图像处理任务(如图像分割、特征提取)做准备。彩色图像通常由红色(R)、绿色(G)、蓝色(B)三个颜色通道组成,因此彩色图像的直方图处理相比单色图像更

    2024年01月23日
    浏览(45)
  • 我在Vscode学OpenCV 图像处理五(直方图处理)

    直方图是一种统计图,显示了图像中每个灰度级别(或颜色通道)的像素数量。通过分析图像的直方图,可以获得关于图像对比度、亮度和颜色分布等方面的重要信息。 了解图像的对比度、亮度和色彩分布等信息。你可以使用OpenCV中的函数来计算和绘制图像的直方图,从而进

    2024年01月21日
    浏览(48)
  • Python-OpenCV中的图像处理-图像直方图

    通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值( 0 到 255), y 轴是图片中具有同一个灰度的点的数目。 BINS:上面的直方图显示了每个灰度值对应的像素数。如果像素值为 0到255,你就需要 256 个数来显示上面的直方图。但是,如果你不需

    2024年02月12日
    浏览(41)
  • OpenCV-Python中的图像处理-图像直方图

    通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值( 0 到 255), y 轴是图片中具有同一个灰度的点的数目。 BINS:上面的直方图显示了每个灰度值对应的像素数。如果像素值为 0到255,你就需要 256 个数来显示上面的直方图。但是,如果你不需

    2024年02月12日
    浏览(28)
  • 数字图像处理实验(直方图均衡化&规定化)

    图像均衡化   图像均衡化是一种图像处理技术,它的目的是改善图像的对比度。   具体来说,对于一张图像,其直方图就是统计图像中各灰度级出现的次数的图像。通常情况下,图像的直方图会呈现不平衡的状态,即图像的某些灰度级出现的次数很多,而其它灰度级出现的

    2024年02月04日
    浏览(38)
  • 【数字图像处理】直方图均衡化与规定化

    目录 直方图处理技术概述 直方图均衡化 公式推导  Matlab代码实现 图像的规定化 数学推导 单映射 Matlab代码 效果展示​编辑  组映射 Matlab代码 灰度级范围[0,L-1]的数字图像,在实际使用中,用哥灰度级的像素总数除以MN的整幅图像的像素数量,归一化到规律中进行计算,这样

    2023年04月26日
    浏览(30)
  • FPGA图像处理仿真实验——直方图均衡化

    直方图均衡化实验,主要包括三部分,直方图统计、计算累加直方图、均衡化。 1、直方图统计        直方图统计就是记录每个灰度值在图片中出现的像素次数,灰度图片有0-255个灰度级,如果我们定义256个寄存器来存储数据比较麻烦,所以借用RAM来实现直方图统计。当输入

    2024年02月07日
    浏览(30)
  • Python-OpenCV中的图像处理-直方图

    通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值( 0 到 255), y 轴是图片中具有同一个灰度的点的数目。 BINS:上面的直方图显示了每个灰度值对应的像素数。如果像素值为 0到255,你就需要 256 个数来显示上面的直方图。但是,如果你不需

    2024年02月13日
    浏览(33)
  • C#使用OpenCv(OpenCVSharp)图像直方图均衡化处理实例

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行直方图均衡化处理。 直方图均衡化原理 直方图均衡化(Histogram Equalization)是一种常用的图像增强技术,用于改善图像的对比度和亮度分布。它通过重新分配图像灰度级的像素值,使得图像的直方图在灰度范围内更加

    2024年02月07日
    浏览(41)
  • python数字图像处理基础(七)——直方图均衡化、傅里叶变换

    均衡化原理 图像均衡化是一种基本的图像处理技术,通过更新图像直方图的像素强度分布来调整图像的全局对比度。这样做可以使低对比度的区域在输出图像中获得更高的对比度。 简单理解:改变图像对比度,让色彩更丰富,灰度值直方图:瘦高 - 均衡 本质上,直方图均衡

    2024年01月18日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包