Как повернуть изображение так, чтобы штрих-код был горизонтальным?? - МАТЛАБ

Как я могу повернуть изображение с помощью штрих-кода, чтобы определить, где находится угол, и повернуть его, чтобы сделать его горизонтальным. Я использовал Hough Transform, но могу только немного повернуть вправо.

Исходное изображениеПовернутое изображение

rgb = imread('barcode10.jpg');
% Resize Image
rgb = imresize(rgb,0.33);
figure(),imshow(rgb);
% Convert from RGB to Gray
Igray = double(rgb2gray(rgb));
BW2 = edge(Igray,'canny');
figure(),imshow(BW2);
% Perform the Hough transform
[H, theta, rho] = hough(BW2);
 % Find the peak pt in the Hough transform
peak = houghpeaks(H);
 % Find the angle of the bars
barAngle = theta(peak(2));
J = imrotate(rgb,barAngle,'bilinear','crop');
figure(),imshow(J);

person Kim    schedule 01.02.2012    source источник


Ответы (1)


Сначала вам нужно обнаружить линии. Для обнаружения линий вы можете использовать преобразование Хафа.

person Harriv    schedule 01.02.2012
comment
Как написать этот код?? Я провел несколько недель, читая об этом и пробуя код, но он не работает! - person Kim; 01.02.2012
comment
Вам нужно быть более конкретным. Что вы пробовали? Как это не работает? - person Harriv; 01.02.2012
comment
@ Ким, ты не получишь таких полезных ответов. Вы должны хотя бы попробовать что-то или рассказать нам, где ИМЕННО у вас есть проблемы. Кроме того, я полагаю, что в Интернете уже есть много решений для этого. Так что, пожалуйста, по крайней мере, используйте Google или поиск файлового обмена Matlab :) - person tim; 01.02.2012
comment
Я попытался обнаружить линии с помощью преобразования Хафа. но он может обнаруживать только некоторые определенные строки, а не все, и после этого я попытался изменить код, чтобы обнаружить строки, но результат не тот, что я хочу, и я также не знаю, как сообщить программе, что это штрих-код. - person Kim; 01.02.2012
comment
Вам нужно ознакомиться с некоторыми основами обработки изображений и распознавания и задать конкретные вопросы или использовать готовую библиотеку для чтения штрих-кодов. Первым шагом, вероятно, будет поиск штрих-кода (черно-белый, высококонтрастный), затем определение угла и декодирование. Это много работы. Не проверив себя, изображения, которые вы связали, имеют слишком низкое разрешение и размыты, поэтому трудно прочитать этот штрих-код даже с надлежащим коммерческим программным обеспечением. - person Harriv; 01.02.2012
comment
Я еще раз задал вопрос, посмотрите - person Kim; 02.02.2012