Error using imadjust>checkRange (line 306) Function imadjust expected its second input argument, [LOW_IN; HIGH_IN] photo editing
Afficher commentaires plus anciens
hi every one , I am tray to do Photo editor but i have her eror , what the wrong?

Réponses (1)
Image Analyst
le 13 Nov 2020
0 votes
imadjust() does not work with RGB images, so it can't take scaling parameters for each color channel. If you want to brighten your RGB image for display, use rescale().
9 commentaires
duna saleh
le 14 Nov 2020
Walter Roberson
le 14 Nov 2020
imadjust does work for rgb in R2020b, but possibly the user is using an earlier release.
Walter Roberson
le 14 Nov 2020
that is the wrong calling sequence for rescale
app.TempEffect = rescale(app.Modified ,reshape([app.LowR app.LowG app.LowB], [1,1,3]), reshape([app.HighB app.HighG app.HighR],[1,1,3]));
duna saleh
le 14 Nov 2020
duna saleh
le 14 Nov 2020
Walter Roberson
le 14 Nov 2020
are you using R2020a or R2020b?
lb = [app.LowR app.LowG app.LowB];
assert(numel(lb) == 3, "lb unexpectedly has %d elements", numel(lb)) ;
ub = [app.HighR app.HighG app.HighB];
assert(numel(ub) == 3, "ub unexpectedly has %d elements", numel(ub)) ;
app.TempEffect = rescale(app.Modified ,reshape([lb, [1,1,3]), reshape(ub,[1,1,3]));
I speculate that one of the slider Value is empty.
duna saleh
le 14 Nov 2020
Walter Roberson
le 14 Nov 2020
assert(isscalar(app.LowR), "LowR is size %s", mat2str(size (app.LowR)))
and similar for the other bounds
imadjust() does support RGB and full 2x3 limit specification for both lower and upper bounds, and it has for years prior to 2020. The following code was tested in R2009b:
A = imread('peppers.png');
B = imadjust(A,[0.1 0.2 0.3; 0.9 0.9 0.9],[0.1 0.2 0.3; 0.8 0.9 1],1);
imshow(B)
... but it won't work if the input image is single-channel and you give it overspecified limit parameters. Check your input images for class and depth and handle them accordingly.
A = imread('cameraman.tif');
B = imadjust(A,[0.1 0.2 0.3; 0.9 0.9 0.9],[0.1 0.2 0.3; 0.8 0.9 1],1);
It also doesn't support RGB inputs for the short (implicit lower bound) syntax. That requires the explicit use of stretchlim().
Catégories
En savoir plus sur Image Arithmetic dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


