Extracting multiple numerical values from an image

1 view (last 30 days)
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)

Categories

Find more on Images in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!