Converting Matlab code to OpenCV (C,C++) code

asked 2015-03-01 20:34:16 -0500

Fiong gravatar image

I would appreciate it if someone can help to covert the Matlab code below to OpenCV (c, c++) code, thanks in advance!!!

Basically, the code is used to remove the text region of a document image, results can be found: http://imgur.com/vEmpavY,dd172fr#1

   %%%%%%%%%%%%
% Set these values depending on your input image

img = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/21044/6ce011abjw1elr8moiof7j20jg0w9jyt.jpg');

MinArea = 2000; % Minimum area to consider, in pixels
%%%%%%%%%
% End User inputs

gsImg = 255 - rgb2gray(img); % convert to grayscale (and invert 'cause that's how I think)
threshImg = gsImg > graythresh(gsImg)*max(gsImg(:)); % Threshold automatically

% Detect regions, using the saturation in place of 'intensity'
regs = regionprops(threshImg, 'BoundingBox', 'Area');

% Process regions to conform to area and saturation thresholds
regKeep = false(length(regs), 1);
for k = 1:length(regs)

    regKeep(k) = (regs(k).Area > MinArea);

end

regs(~regKeep) = []; % Delete those regions that don't pass qualifications for image

% Make a new blank image to hold the passed regions
newImg = 255*ones(size(img), 'uint8');

for k = 1:length(regs)

    boxHere = regs(k).BoundingBox; % Pull out bounding box for current region
    boxHere([1 2]) = floor(boxHere([1 2])); % Round starting points down to next integer
    boxHere([3 4]) = ceil(boxHere([3 4])); % Round ranges up to next integer
    % Insert pixels within bounding box from original image into the new
    % image
    newImg(boxHere(2):(boxHere(2)+boxHere(4)), ...
        boxHere(1):(boxHere(1)+boxHere(3)), :) = img(boxHere(2):(boxHere(2)+boxHere(4)), ...
        boxHere(1):(boxHere(1)+boxHere(3)), :);

end

% Display
figure()
image(newImg);
edit retag flag offensive close merge delete

Comments

1

There are enough places were people help you translate stuff against some sort of payment. The goal of this forum is that you start it yourself, see where you can go and then come back if you ran into an error. Then we will help you fix it, not sooner :)

StevenPuttemans gravatar imageStevenPuttemans ( 2015-03-02 09:06:55 -0500 )edit