本文用MATLAB实现直方图匹配,程序如下:

clear;

% matching dst‘s histogram to src‘s histogram.

path = ‘C:\Users\admin\Desktop\HDRdataset\Oneplus\rgb\0726\18\‘;

src = imread([path, ‘172.jpg‘]);

dst = imread([path, ‘173.jpg‘]);

% figure; imshow(src); title(‘src‘);

% figure; imshow(dst); title(‘dst‘);

[H, W, colorChannel] = size(src);

out = zeros(H, W, colorChannel);

figure; set(gcf,‘Position‘,[100,100,800,800], ‘color‘,‘w‘); %原点的位置x,原点的位置y,宽,高,其坐标为points

for k = 1: colorChannel

disp(k);

hist_src = imhist(src(:, :, k));

subplot(3, 3, 1 + 3*(k-1));

plot(hist_src); title([‘hist of src ‘, num2str(k)]);

cumHist_src = []; %src的累积直方图

for i=1:256

cumHist_src = [cumHist_src sum(hist_src(1:i))];

end

dst1 = dst(:, :, k);

hist_dst = imhist(dst1); %dst的直方图

subplot(3, 3, 2 + 3*(k-1));

plot(hist_dst); title([‘hist of dst ‘, num2str(k)]);

cumHist_dts = []; %dst的累积直方图

for i=1:256

cumHist_dts = [cumHist_dts sum(hist_dst(1:i))];

end

for i=1:256

tmp{i} = cumHist_src - cumHist_dts(i);

tmp{i} = abs(tmp{i});

[a, index(i)] = min(tmp{i}); %找到两个累积直方图距离最近的点

end

imgn = zeros(H,W);

for i = 1:H

for j = 1:W

imgn(i,j) = index(dst1(i,j)+1)-1; %由原图的灰度通过索引映射到新的灰度

end

end

subplot(3, 3, 3 + 3*(k-1));

plot(imhist(imgn)); title([‘hist of new ‘, num2str(k)]); %新图的直方图

out(:, :, k) = imgn;

end

out=uint8(out);

imwrite(out, [path, ‘new.jpg‘]);

% figure; imshow(out); title(‘out‘)

disp(‘Done‘);

原文:https://www.cnblogs.com/picassooo/p/11504937.html

matlab直方图匹配,直方图匹配 histogram match相关推荐

  1. 图像灰度直方图匹配(直方图规定化,Histogram Matching)实验

    一.使用相同图像,不同灰度分布做匹配 matlab代码: %% 两张图片histmatch,直方图均衡后match原图 clc;close all;clear all ImgIn=rgb2gray(i ...

  2. Matlab数字图像处理 02 灰度变化(图像直方图、直方图均衡化、直方图匹配)

    第二章 灰度变化 2.1 图像的亮度.对比度和动态范围 2.1.1 亮度 2.1.2 对比度 2.1.3 动态范围 2.2 线性灰度变换 2.2.1 具有饱和处理的线性灰度变换 2.2.2 分段线性灰 ...

  3. Matlab进行彩色图像直方图匹配(不用histeq函数)

    用matlab进行彩色图像直方图匹配,基本原理是分别对RGB三个通道进行直方图匹配,最后合成一张图.涉及到的数学知识有概率密度,分布函数,频数等,因为是对离散数据进行操作,所以都比较简单.下面是代码, ...

  4. 直方图匹配(直方图规定化)

    直方图处理可以增加图像的动态范围,但是直方图处理针对的是图像整体偏暗偏亮(注意是整体),若一幅图像即存在偏暗又存在偏亮的区域,此时想要增加图像的动态范围,不宜采用直方图处理.(例如想要增加偏暗区域的动 ...

  5. OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配

    直方图均衡化 目标 在这个教程中你将学到: 什么是图像的直方图和为什么图像的直方图很有用 用OpenCV函数 equalizeHist 对图像进行直方图均衡化 原理 图像的直方图是什么? 直方图是图像 ...

  6. 学习笔记(二)——直方图均衡化和匹配

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 作者: 晨 ...

  7. Opencv学习笔记——直方图与模板匹配

    文章目录 一.直方图 1.画直方图 2.mask的使用 3.直方图均值化 4.自适应直方图均衡化 二.模板匹配 1.匹配单个对象 2.匹配多个对象 一.直方图 直方图是像素点数值分布的统计图形表示,也 ...

  8. OpenCV-10-直方图匹配/直方图规定化

    直方图匹配又称为直方图规定化,是指将一幅图像的直方图变成规定形状的直方图而进行的图像增强方法. 即将某幅影像或某一区域的直方图匹配到另一幅影像上.使两幅影像的色调保持一致.可以在单波段影像直方图之间进 ...

  9. 第七章 - 直方图与匹配 - 直方图的计算与显示(cvCalcHist)

    分析图像.物体和视频信息过程,我们常把看到的物体用直方图(histogram)表示,直方图可以用来描述各种不同的事情,如物体的色彩分布.物体边缘梯度模板,以及表示目标位置的概率分布.直方图广泛应用在计 ...

  10. matlab对数收益直方图,科学网—MATLAB中绘制数据直方图的新函数histogram2 - 王福昌的博文...

    MATLAB中有命令hist3() 可以绘制直方图,竖坐标是频数,这与一些教科书中用纵轴表示频率的做法不一致,有些时候不便于使用.当然,使用者可以自己编写定制能够在纵轴绘出频率的直方图.在MATLAB ...

最新文章

  1. 快快: 一点即玩的游戏客户端平台
  2. python高阶函数求导_Python---高阶函数
  3. 算法练习day12——190331(并查集)
  4. linux stat命令详解
  5. (转)OpenLayers3基础教程——OL3之Popup
  6. linux环境下编译Qt源码
  7. [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  8. 【UE4笔记】Collision碰撞
  9. 迅雷前副总裁李金波:我的创业感悟
  10. Android开发之隐示意图跳转
  11. python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...
  12. smbcontrol - 向smbd或nmbd进程发送消息
  13. 实现对文件夹进行加密
  14. 2021周记07:新的一年正式开始
  15. OSChina 娱乐弹弹弹——凉风有信,秋月无边
  16. 【例题】已知二叉树的先序序列和中序序列构造二叉树
  17. to redirect to a secure protocol (like HTTPS) or allow insecure protocols.
  18. 网络优化之net.ipv4.tcp_tw_recycle和tcp_tw_reuse参数
  19. 今天晚上参加了企业文化培训
  20. 08 Android 植物人大战僵尸-添加向日葵卡片

热门文章

  1. 全彩控制器的编程软件有哪些_可编程LED控制器-MINI全彩控制器软件(DC-Color)v1.08 官方版-腾牛下载...
  2. HTML静态网页作业——海贼王主题网页设计制作6个页面(HTML+CSS)
  3. adb连接Android设备使用screenrecord命令录屏和screencap命令截屏
  4. CAN FD的波特率到底能跑多快?
  5. matlab自适应高斯滤波,[matlab] 自适应高斯滤波器在二维图像上的应用
  6. python 串口接收多线程与界面通信_Python之PyQT多线程串口代码分析
  7. 企业绩效考核管理制度
  8. python解二阶微分方程组_用Python求解一阶和二阶微分方程组
  9. (z)无杂散动态范围SFDR--影响通信机性能的因素
  10. 数据库之SQL行列转换