MATLAB Answers

Extracting multiple numerical values from an image

1 view (last 30 days)
Mohsin Shah
Mohsin Shah on 26 Nov 2020
Commented: Mohsin Shah on 4 Feb 2021
Is it possible
to extract multiple numerical values from the this image?

Accepted Answer

yanqi liu
yanqi liu on 1 Feb 2021
clc; clear all; close all;
img = imread('demo.jpg');
J = rgb2hsv(img);
s = mat2gray(J(:,:,2));
bw = im2bw(s, 0.2);
bw = imclose(bw, strel('line', 5, 0));
bw = bwareaopen(bw, 6);
stats = regionprops(bw);
figure;
imshow(img);
for i = 1 : length(stats)
rect = stats(i).BoundingBox;
hold on; rectangle('Position', rect, 'EdgeColor', 'm', 'LineWidth', 1);
if rect(3) > 20
rectangle('Position', rect, 'EdgeColor', 'r', 'LineWidth', 1);
imi = imcrop(img, round(rect));
imi2 = imresize(imi, 3, 'bilinear');
txt = ocr(imi2);
text(rect(1), rect(2)-rect(4)/2, txt.Words{1}, 'Color', 'g', 'FontSize', 16)
end
end

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!