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 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Image Analyst
2020 年 3 月 21 日
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!