当前位置:首页 > 代码 > 正文

直方图图像检索matlab代码(matlab计算图像直方图)

admin 发布:2022-12-19 18:02 125


今天给各位分享直方图图像检索matlab代码的知识,其中也会对matlab计算图像直方图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

matlab怎么获取图像的直方图

可以自己统计,然后显示。比如:% By lyqmath

clc; clear all; close all;

I = imread('rice.png');

[n,xout] = hist(I(:), 0:255);

figure;

subplot(1, 2, 1); bar(xout, n); xlim([0 255]);

title('统计直方图1 By lyqmath', 'FontWeight', 'Bold', 'Color', 'r');

subplot(1, 2, 2); imhist(I, 256); xlim([0 255]);

title('统计直方图2 By lyqmath', 'FontWeight', 'Bold', 'Color', 'r');结果

matlab 怎样求图像直方图

第一种、hist(x):这种格式中x是一维向量,函数的作用是将x中的最小和最大值之间的区间等分成10等份,输出的直方图横坐标是x值,纵坐标是该值的个数

第二种、函数格式为 [a,b]=hist(x,n) 其中x是一维向量,函数功能是将x中的最小和最大值之间的区间等分n份,横坐标是x值,纵坐标是该值的个数。返回的a是落在该区间内的个数,b是该区间的中心线位置坐标。

MATLAB直方图均衡化代码

%函数功能,画出图像的直方图,并对图像进行直方图均衡

%直接读图像abc.jpg,读到tuu中

%graydis是原始直方图各灰度级像素个数

%原始直方图graydispro,利用原始直方图计算原始累计直方图graydispro

%t[]计算和原始灰度对应的新的灰度t[],建立映射关系,t坐标代表原始的灰度,t[]代表对应原始坐标的新坐标

%new_graydis是统计新直方图各灰度级像素个数

%计算新的灰度直方图new_graydispro,利用新的直方图计算新的累计直方图new_graydispro

%计算直方图均衡后的新图new_tu

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear

all

close

all

tuu=imread('abc.jpg');

%读入图片

tu=rgb2gray(tuu);

%将彩色图片转换为灰度图

graydis=zeros(1,256);

%设置矩阵大小

graydispro=zeros(1,256);

new_graydis=zeros(1,256);

new_graydispro=zeros(1,256);

[h

w]=size(tu);

new_tu=zeros(h,w);

%计算原始直方图各灰度级像素个数graydis

for

x=1:h

for

y=1:w

graydis(1,tu(x,y))=graydis(1,tu(x,y))+1;

end

end

%计算原始直方图graydispro

graydispro=graydis./sum(graydis);

subplot(1,2,1);

plot(graydispro);

title('灰度直方图');

xlabel('灰度值');ylabel('像素的概率密度');

%计算原始累计直方图

for

i=2:256

graydispro(1,i)=graydispro(1,i)+graydispro(1,i-1);

end

%计算和原始灰度对应的新的灰度t[],建立映射关系

for

i=1:256

t(1,i)=floor(254*graydispro(1,i)+0.5);

end

%统计新直方图各灰度级像素个数new_graydis

for

i=1:256

new_graydis(1,t(1,i)+1)=new_graydis(1,t(1,i)+1)+graydis(1,i);

end

%计算新的灰度直方图new_graydispro

new_graydispro=new_graydis./sum(new_graydis);

subplot(1,2,2);

plot(new_graydispro);

title('均衡化后的灰度直方图');

xlabel('灰度值');ylabel('像素的概率密度');

%计算直方图均衡后的新图new_tu

for

x=1:h

for

y=1:w

new_tu(x,y)=t(1,tu(x,y));

end

end

figure,imshow(tu,[]);

title('原图');

figure,imshow(new_tu,[]);

title('直方图均衡化后的图');

求怎样使用MATLAB编写图像检索程序

有图像检索的算法,可以实现难度不太大,你可以参考《图像低层特征提取与检索技术》还有《基于内容的图像检索技术》,可先用matlab软件仿真,图像检索的基本原理就是:

(1) 从图像数据库中通过特征选择算法提取主要的显著特征(颜色、边缘、直方图)作为图像的索引;

(2) 根据提取的特征建立特征和图像数据库之间的映射关系;

(3) 检索算法的设计,可以通过待检索图像和图像数据库中的图像特征之间的相似性和距离进行;

(4) 找出相似性和距离最近的图像作为检索结果;

还有你如果是取图像中的部分图像作为检索内容,这个难度就有些大了,不如就整张检索容易实现,因为你要检索局部内容就需要在图像库中的每幅图像中的局部提取特征。

希望能帮到你!

看我回答的如此真诚,最好给我多加点分吧

关于直方图图像检索matlab代码和matlab计算图像直方图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/16535.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载