How to apply a Color Thresholder function in Image Batch Processor to get masked RGB Images instead of binary ones?
function [BW,maskedRGBImage] = createMask(RGB) %createMask Threshold RGB image using auto-generated code from colorThresholder app. % [BW,MASKEDRGBIMAGE] = createMask(RGB) thresholds image RGB using % auto-generated code from the colorThresholder app. The colorspace and % range for each channel of the colorspace were set within the app. The % segmentation mask is returned in BW, and a composite of the mask and % original RGB images is returned in maskedRGBImage. % Auto-generated by colorThresholder app on 07-Oct-2021 %------------------------------------------------------ % Convert RGB image to chosen color space I = RGB; % Define thresholds for channel 1 based on histogram settings channel1Min = 23.000; channel1Max = 80.000; % Define thresholds for channel 2 based on histogram settings channel2Min = 33.000; channel2Max = 84.000; % Define thresholds for channel 3 based on histogram settings channel3Min = 0.000; channel3Max = 34.000; % Create mask based on chosen histogram thresholds sliderBW = (I(:,:,1) >= channel1Min ) & (I(:,:,1) <= channel1Max) & ... (I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & ... (I(:,:,3) >= channel3Min ) & (I(:,:,3) <= channel3Max); BW = sliderBW; % Initialize output masked image based on input image. maskedRGBImage = RGB; % Set background pixels where BW is false to zero. maskedRGBImage(repmat(~BW,[1 1 3])) = 0; end
folder = pwd; % Whatever. filePattern = fullfile(folder, '*.png'); fileList = dir(filePattern); for k = 1 : numImages % Read in original image thisFileName = fullfile(fileList(k).folder, fileList(k).name); fprintf('Reading "%s".\n', thisFileName); rgbImage = imread(thisFileName); % Do color segmentation. [mask, maskedRGBImage] = createMask(rgbImage); % Now display the three images subplot(2, 2, 1); imshow(rgbImage) subplot(2, 2, 2); imshow(mask); subplot(2, 2, 3); imshow(maskedRGBImage); drawnow; end
Or if you're using the batch processing app, maybe it's using only the first output. Try reversing the outputs:
function [maskedRGBImage, BW] = createMask(RGB)
Matlabsolutions.com provides guaranteed satisfaction with a
commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain
experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support
to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been
empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab
assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services
include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work
done at the best price in industry.