Skip to main content

Posts

Showing posts with the label Image Processing

Image binng in matlab

Here are my own image binning codes. The first one was built on 2015/3/2. And the second one was written on 2018/11/5. I think I have a big improvement. Ha~ ==== function [ox,oy]=binning(x,y,nbins) % This function is used to bin data to average %  % x: x-axis data % y: y-axis data % nbins: binning factor % % 2015/03/02  % Renfong m=max(size(x)); n0=fix(m/nbins); n1=mod(m,nbins); if n1==0 ox=zeros(n0,1); oy=zeros(n0,1); for ii=1:n0 for jj=1:nbins ox(ii)=ox(ii)+x((ii-1)*nbins+jj); oy(ii)=oy(ii)+y((ii-1)*nbins+jj); end ox(ii)=ox(ii); oy(ii)=oy(ii); end else ox=zeros(n0+1,1); oy=zeros(n0+1,1); for ii=1:n0 for jj=1:nbins ox(ii)=ox(ii)+x((ii-1)*nbins+jj); oy(ii)=oy(ii)+y((ii-1)*nbins+jj); end ox(ii)=ox(ii); oy(ii)=oy(ii); end for ii=1:n1 ox(n0+1)=ox(n0+1)+x(n0*nbins+ii); oy(n0+1)=oy(n0+1)+y(n0*nbins+ii); end ox(n0+1)=ox(n0+1)*nbins/n1; oy(n0+1)=oy(n0+1)*nbins/n1; end ==== function out=xy_bins(img,nbins) ...

Non-local means filter --> Image denoise

There are several denoise filters such as Gaussian, bilateral and so on[1]. However, they may deteriorate the image quality. Non-local means filter is a powerful (but time-consuming >"<) denoise filter, which can preserve the detail of the image by averaging neighbor pixels with similar neighborhoods! The Matlab code can be found from the website listed in ref 2. For more detail refer to ref 3. Example: [1] https://web.cs.hacettepe.edu.tr/~erkut/bil717.s12/w09-bilateral-nlmeans.pdf [2] https://pastebin.com/28GsvWkW [3] https://www.youtube.com/watch?v=9tUns4HYtcw