Custom-shaped histogram
This script transforms an image such that the object in the "foreground" of the image now becomes the histogram of the transformed image.
I provide three examples with 3 demo images:
I change the image of a city skyline so that the histogram of the new image looks like the skyline.
I change the image of a car so that the histogram of the new image looks like the car shape.
I change the image of a woman so that the histogram of the new image looks like the shape of the woman. (See screenshot)
The script can also produce a perfectly flat histogram - the ultimate histogram equalization, far better than any standard histogram equalization method because the final histogram is TRULY FLAT.
In addition I give some examples for how to segment multi-colored objects (car, skyline, woman) out of the foreground of the image, thus demonstrating some standard image processing techniques such as color classification and thresholding.
As an extra bonus, I provide a thresholding GUI application where you can interactively threshold your image with scrollbars and see the results (original, binary, and masked) immediately. You can use this with any integer or floating point image. Here, if you uncomment it in the code, you can use it to select threshold values for the hue, saturation, and value channels of the "beach_woman" image. But it can be used in general for any image - it's not specific for this shaped histogram script, it's just bundled in.
Cite As
Image Analyst (2024). Custom-shaped histogram (https://www.mathworks.com/matlabcentral/fileexchange/28972-custom-shaped-histogram), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Image Processing Toolbox >
- Image Processing and Computer Vision > Image Processing Toolbox > Display and Exploration >
- Image Processing and Computer Vision > Image Processing Toolbox > Image Segmentation and Analysis >
- MATLAB > Graphics > 2-D and 3-D Plots > Data Distribution Plots > Histograms >
- Image Processing and Computer Vision > Image Processing Toolbox > Image Segmentation and Analysis > Image Segmentation > Color Segmentation >
- Image Processing and Computer Vision > Image Processing Toolbox > Import, Export, and Conversion > Color >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.