matlab中imhist(怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图)

本文目录
- 怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图
- “imhist”函数怎么用
- MATLAB 关于imhist的问题
- 在matlab中使用imhist函数怎么输出的是一串数字
- imhist 下面代码哪里错了 MATLAB
- matlab中imhist的问题
- matlab的imhist函数怎么显示x轴标签
- matlab 图像直方图显示
怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图
你的意思是把RGB 3层 分开来做imhist?这里用 football的图片做个例子
Img=imread(’football.jpg’);
BW = Img;
R=BW(:,:,1);
= imhist(R);
G=BW(:,:,2);
= imhist(R);
B=BW(:,:,3);
= imhist(R);
figure;
subplot(131);imhist(R);title(’histogram of Red’);
subplot(132);imhist(G);title(’histogram of Green’);
subplot(133);imhist(B);title(’histogram of Blue’);
figure;
Histcounts=REDcounts+Greencounts+Bluecounts;
Histogramdata=Histcounts’;
这样子就差不多了 你自己再看看 Histcounts 和 Histgramdata里面都是 hist数据 不过一个是竖着看 一个是横着看 要出hist 图像 自己用hist这个命令好了
如果要综合 你已经分别得到每个色层的hist了 再相加就可以了
“imhist”函数怎么用
imhist是MATLAB图像处理模块中的一个函数,用以提取图像中的直方图信息。在matlab 的命令窗口中键入doc imhist或help imhist即可获得该函数的帮助信息。
该函数用于获取图像数据直方图。在图像增强技术中,图像灰度级直方图有着重要的意义,是直方图修改技术、直方图均衡化等一些图像处理技术的基础。在matlab 的命令窗口中键入doc imhist或help imhist即可获得该函数的帮助信息。
MATLAB 关于imhist的问题
= imhist(img); % 统计直方图
j = (1:256) 《= 10; % 只取前10的像素
bar(x(j), cnt(j)) % 画直方图
set(gca, ’YLim’, ) % 设置Y轴范围
在matlab中使用imhist函数怎么输出的是一串数字
怎么会?
使用imhist方法是显示图像的直方图,应该不会出现一串数字。估计是在之前读取图像的时候出现的吧,读取图像的时候请注意在该语句后面加一个分号“;”,否则是会输出该图像的存储细节(即显示一堆数字)。
比如:
X=imread(’tire.tif’); %这里如果没有分号,就会输出数字。
imhist(X)
imhist 下面代码哪里错了 MATLAB
问题主要出在“t.jpg”的属性上,图片的位深度为24,而imhist()函数要求图片的位深度为8。
处置办法,就是用画图软件打开后另存为256色位图格式。可用rgb2gray()改变。
t=rgb2gray(t);
处理前:
处理后:
运行你的程序,得到
matlab中imhist的问题
一种解决方法如下,我们希望在imhist中纵坐标以对数显示。
在命令窗口中打入 edit imhist 调用 imhist.m文件,然后修改代码
function plot_result(x, y, cm, isScaled, classin, range)
n = length(x);
y=log10(y); % 这一行是加上去的
stem(x,y, ’Marker’, ’none’)
hist_axes = gca;
保存后再运行imhist命令。使用代码如下
clear,clc;
close all;
ImageData=imread(’a.bmp’);
subplot(211);
imshow(ImageData,256);
subplot(212);
imhist(ImageData,256);
效果对比如下:
纵坐标变成了灰度点数目的对数。
之后需要把imhist文件改回原样。本来我也希望能把imhist文件copy出来做一个函数,但是直接copy一个新函数似乎出现了问题。所以暂时用的话这个方法可以。
另外一种方法是 用 axis(); 命令给出显示范围,ylim为y坐标上限。这样细节部分会显示更清楚,但是有一部分图形会显示不到,需要在图中标注或者在文中说明。
matlab的imhist函数怎么显示x轴标签
使用matlab的imhist函数时,出现不显示x轴标签。解决的方法就是加多个空格。如下列的例子。
I = imread(’pout.tif’);
imhist(I)
xlabel({’ ’,’时间’});ylabel(’波长’)
matlab 图像直方图显示
不同的数据会显示不同的直方图,以imhist为例,直方图及代码如下。
利用matlab计算图像直方图函数为imhist()
具体用法:
imhist(i);直接显示图像i的灰度直方图;
imhist(i,n)n为指定灰度级显示直方图;
=imhist(i)获取直方图信息,count为每一级灰度像素个数,x为灰度级,x也可以在imhist(i,x)中指定,可以通过stem(x,count)画相应直方图;
代码应用:
i=imread(’F:\Myfile\Matlab\Test_picture\0_1.jpg’);
imshow(i);
figure;
imhist(i);
figure;
imhist(i,32);
figure;
=imhist(i,32);
stem(x,count);

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50


