matlab中imhist(怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图)
本文目录
- 怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图
- matlab中imhist的问题
- MATLAB 关于imhist的问题
- “imhist”函数怎么用
- imhist 下面代码哪里错了 MATLAB
- matlab的imhist函数怎么显示x轴标签
- matlab 图像直方图显示
- 在matlab中使用imhist函数怎么输出的是一串数字
怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图
你的意思是把RGB 3层 分开来做imhist?这里用 football的图片做个例子
Img=imread(’*****’);
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了 再相加就可以了
matlab中imhist的问题
一种解决方法如下,我们希望在imhist中纵坐标以对数显示。
在命令窗口中打入 edit imhist 调用 *****文件,然后修改代码
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(’*****’);
subplot(211);
imshow(ImageData,256);
subplot(212);
imhist(ImageData,256);
效果对比如下:
纵坐标变成了灰度点数目的对数。
之后需要把imhist文件改回原样。本来我也希望能把imhist文件copy出来做一个函数,但是直接copy一个新函数似乎出现了问题。所以暂时用的话这个方法可以。
另外一种方法是 用 axis(); 命令给出显示范围,ylim为y坐标上限。这样细节部分会显示更清楚,但是有一部分图形会显示不到,需要在图中标注或者在文中说明。
MATLAB 关于imhist的问题
= imhist(img); % 统计直方图
j = (1:256) 《= 10; % 只取前10的像素
bar(x(j), cnt(j)) % 画直方图
set(gca, ’YLim’, ) % 设置Y轴范围
“imhist”函数怎么用
imhist是MATLAB图像处理模块中的一个函数,用以提取图像中的直方图信息。在matlab 的命令窗口中键入doc imhist或help imhist即可获得该函数的帮助信息。
该函数用于获取图像数据直方图。在图像增强技术中,图像灰度级直方图有着重要的意义,是直方图修改技术、直方图均衡化等一些图像处理技术的基础。在matlab 的命令窗口中键入doc imhist或help imhist即可获得该函数的帮助信息。
imhist 下面代码哪里错了 MATLAB
问题主要出在“*****”的属性上,图片的位深度为24,而imhist()函数要求图片的位深度为8。
处置办法,就是用画图软件打开后另存为256色位图格式。可用rgb2gray()改变。
t=rgb2gray(t);
处理前:
处理后:
运行你的程序,得到
matlab的imhist函数怎么显示x轴标签
使用matlab的imhist函数时,出现不显示x轴标签。解决的方法就是加多个空格。如下列的例子。
I = imread(’*****’);
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_*****’);
imshow(i);
figure;
imhist(i);
figure;
imhist(i,32);
figure;
=imhist(i,32);
stem(x,count);
在matlab中使用imhist函数怎么输出的是一串数字
怎么会?
使用imhist方法是显示图像的直方图,应该不会出现一串数字。估计是在之前读取图像的时候出现的吧,读取图像的时候请注意在该语句后面加一个分号“;”,否则是会输出该图像的存储细节(即显示一堆数字)。
比如:
X=imread(’*****’); %这里如果没有分号,就会输出数字。
imhist(X)
更多文章:
用gridview显示数据库图片(Gridview中的imagefield字段没有显示图片啥办)
2026年4月26日 14:00
matlab中imhist(怎样在MATLAB中用imhist提取一幅RGB图像的三个像素直方图)
2026年4月26日 13:40
textarea 匹配 高亮(怎样设置JTextArea 文本域中选中的文字的颜色,就像word一样(用java编写的))
2026年4月26日 13:20
enable属性(怎样用js设置TextBox的Enable属性)
2026年4月26日 13:00
mysql索引总结(My**L索引有啥好处,怎么合理的添加)
2026年4月26日 12:20





