Histogram Matching | Matlab Code
Histogram Matching algorithm explained with full MATLAB code without using inbuilt function. Main Code: ---------- clc clear all close all warning off im1=imread('A.PNG'); im2=imread('B.PNG'); r1=im1(:,:,1); g1=im1(:,:,2); b1=im1(:,:,3); r2=im2(:,:,1); g2=im2(:,:,2); b2=im2(:,:,3); a=myown(r1,r2); b=myown(g1,g2); c=myown(b1,b2); nexttile; imshow(im1); nexttile; imshow(im2); d=cat(3,a,b,c); nexttile imshow(d); Helping Function: ---------------- function mattu=myown(p,q) M = zeros(256,1,'uint8'); hist1 = imhist(p); hist2 = imhist(q); cdf1 = cumsum(hist1) / numel(p); cdf2 = cumsum(hist2) / numel(q); for idx = 1 : 256 [~,ind] = min(abs(cdf1(idx) - cdf2)); M(idx) = ind-1; end [H, W] = size(p); mattu=zeros(H,W,'uint8'); for x = 1: H for y = 1:W mattu(x,y) =M(double(p(x,y))+1); end end end Prerequisite: Histogram equalization without built-in function | MATLAB https://youtu.be/l2wWstfD3q0 Learn Complete Machine Learning & Data Science using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNoaZmR2OTVrh-72YzLZBlJ2 Learn Digital Signal Processing using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNr3w6baU91ZM6QL0obULPig Learn Complete Image Processing & Computer Vision using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNostbIaNSpzJr06mDb6qAJ0 ???????? YOU JUST NEED TO DO 3 THINGS to support my channel LIKE SHARE & SUBSCRIBE TO MY YOUTUBE CHANNEL
Histogram Matching algorithm explained with full MATLAB code without using inbuilt function. Main Code: ---------- clc clear all close all warning off im1=imread('A.PNG'); im2=imread('B.PNG'); r1=im1(:,:,1); g1=im1(:,:,2); b1=im1(:,:,3); r2=im2(:,:,1); g2=im2(:,:,2); b2=im2(:,:,3); a=myown(r1,r2); b=myown(g1,g2); c=myown(b1,b2); nexttile; imshow(im1); nexttile; imshow(im2); d=cat(3,a,b,c); nexttile imshow(d); Helping Function: ---------------- function mattu=myown(p,q) M = zeros(256,1,'uint8'); hist1 = imhist(p); hist2 = imhist(q); cdf1 = cumsum(hist1) / numel(p); cdf2 = cumsum(hist2) / numel(q); for idx = 1 : 256 [~,ind] = min(abs(cdf1(idx) - cdf2)); M(idx) = ind-1; end [H, W] = size(p); mattu=zeros(H,W,'uint8'); for x = 1: H for y = 1:W mattu(x,y) =M(double(p(x,y))+1); end end end Prerequisite: Histogram equalization without built-in function | MATLAB https://youtu.be/l2wWstfD3q0 Learn Complete Machine Learning & Data Science using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNoaZmR2OTVrh-72YzLZBlJ2 Learn Digital Signal Processing using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNr3w6baU91ZM6QL0obULPig Learn Complete Image Processing & Computer Vision using MATLAB: https://www.youtube.com/playlist?list=PLjfRmoYoxpNostbIaNSpzJr06mDb6qAJ0 ???????? YOU JUST NEED TO DO 3 THINGS to support my channel LIKE SHARE & SUBSCRIBE TO MY YOUTUBE CHANNEL