how to get an accurate image

Hi, im problem to get an accurate image for this coding. I need help to finish my final year project.
clear all
% baca image ori
a = imread('C:\Users\nazmiz\Desktop\PCB Tester\TestedPCB\Original.jpg');
a1 = im2bw(a,0.5)
imshow(a1)
% baca image nak test
b = imread('C:\Users\nazmiz\Desktop\PCB Tester\TestedPCB\Test.jpg');
b1 = im2bw(b,0.5)
imshow(b1)
% buat subtraction dapatkan beza
c = imabsdiff(a1,b1);
imshow(c)
d = imcomplement(c);
imshow(d)
%e = regionprops(c,'centroid');
%centroids = cat(1,e.Centroid);
e = regionprops('table',c,'Centroid','MajorAxisLength','MinorAxisLength')
centers = e.Centroid;
diameters = mean([e.MajorAxisLength e.MinorAxisLength],2);
radii = diameters/2;
subplot(3,3,1), imshow(a), title('Original')
subplot(3,3,2), imshow(b), title('Test')
subplot(3,3,3), imshow(c), title('Difference')
subplot(3,3,4), imshow(d), title('Inverted Difference')
subplot(3,3,5), imshow(b)
hold on
viscircles(centers,radii);
%plot(centroids(:,1),centroids(:,2),'b*')
hold off
title('Labeled')
Original.jpg
Test.jpg

1 Comment

and i need help to crop to the accurate image of the circuit

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 25 Nov 2019
Attached is a start. It looks bad because you provided a heavily compressed JPEG image with uber-bad artifacts.
0000 Screenshot.png

5 Comments

so, the coding is right, but i need a better quality of the picture? actually his image i from webcam then the coding need to process the image.
Use a better camera. Don't save as JPEG. Use better lighting and lenses.
can you recommend the best format that i need to save? may i know how to make a counter capture thus crop the region that i want?
I use PNG format whenever I can. I think most people do. It's pretty much the de facto standard these days.

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!