Applying the formula to determine the barcode - Ma

2019-09-21 14:01发布

问题:

How to write the code to apply the formula to the image and the result is low-pass filtered. The red region is the highest intensity which corresponds to the barcode.

Formula:

Original image:

Processed Image:

edited How to plotting the points??

edited Plotting the Points:

回答1:

I tend to agree with nikie that you should be working from a book if you are at this basic level, but here is an answer anyway.

I = imread('your_image');
# convert I to grayscale double as appropriate using rgb2gray(), double(), etc.

# calculate the gradients and the formula you provided
[dIx, dIy] = gradient(I);
B = abs(dIx) - abs(dIy);

# do your low-pass filtering
H = fspecial('gaussian', 20, 10);
C = imfilter(B, H);

imagesc(C); colorbar;

Good luck! Make sure you understand this code before making copypasta.