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

Answers (1)
Image Analyst
on 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 Comments
duna saleh
on 14 Nov 2020
Walter Roberson
on 14 Nov 2020
imadjust does work for rgb in R2020b, but possibly the user is using an earlier release.
Walter Roberson
on 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
on 14 Nov 2020
duna saleh
on 14 Nov 2020
Walter Roberson
on 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
on 14 Nov 2020
Walter Roberson
on 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().
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

