Answers (2)

Bjorn Gustavsson
Bjorn Gustavsson on 24 Feb 2012
Edited: Walter Roberson on 23 Sep 2025
Then it should just be to generate the gray-level (or separate R, G and B level) mappings that take you from 0-1 to 0-1.
qdSolarize = @(Igray) (1-0.7*sin((0.2+linspace(0,0.8,1001)*pi)).^8)
Isolarized = qdSolarize(I);
You'd have to fidget around with the mapping till you get whatever you want.
HTH.
DGM
DGM on 23 Sep 2025
FWIW, MIMT has a solarization tool that has presets for both a smooth curve and a typical hard vee curve. It also supports arbitrary curve specification.
A = imread('trailer.jpg'); % a photo (RGB)
B = solarize(A); % default curve
C = solarize(A,'vee'); % hard vee curve
D = solarize(A,'in',[0 0.10 0.70 0.94 1],'out',[0 0.10 0.90 0.08 0]); % custom
% show all of them
outpict = [A; B; C; D];
imshow(outpict)

Categories

Tags

Asked:

on 24 Feb 2012

Edited:

on 23 Sep 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!