How do I apply a window on an image to keep the part in the window while reduce the resolution (clarity) of the remaining part of the picture?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
D_coder
am 21 Mär. 2020
Beantwortet: Image Analyst
am 21 Mär. 2020
Suppose I have an image with three circles and a line as shown below. I want to apply a trapezoidal type window (see dotted lines) over certain x axis range to preserve the resolution in that section while reducing the resolution in the remaining part of the picture
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 21 Mär. 2020
Use poly2mask() to make a mask of the part you want to preserve. Then blur the whole image with imfilter() or conv2(). Then replace the image in the mask with the original. Something like
[rows, columns, numberOfColorChannels] = size(grayImage);
mask = poly2mask(x, y, rows, columns);
kernel = ones(9,9);
kernel = kernel / sum(kernel(:)); % Normalize so we don't change the mean intensity of the image.
blurredImage = conv2(grayImage, kernel, 'same'); % Blurs everything, including the masked region.
blurredImage(mask) = grayImage(mask); % Restore original to the masked region.
x and y are the points of the vertices of your trapezoid.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Get Started with Image Processing Toolbox finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!