how to get Integrated circuit pads in image?

2 ビュー (過去 30 日間)
mehmet baki
mehmet baki 2024 年 5 月 23 日
回答済み: DGM 2024 年 5 月 24 日
I want to detect integrated circuit pads in this image. But I don't understand how to get only pads. is there any method or suggestion. thank you
  2 件のコメント
DGM
DGM 2024 年 5 月 23 日
In how many images? Is it just this one? Changing the plating finish and mask color will change the requirements.
Are they all heavily damaged JPGs?
Am I right to assume you're looking for all component pads (chip, QFP, PTH)?
I'm assuming this is just an exercise based on a synthetic image, and not an actual practical application where reliability matters.
mehmet baki
mehmet baki 2024 年 5 月 23 日
just this image. there are 2 ICs in image.

サインインしてコメントする。

回答 (2 件)

Image Analyst
Image Analyst 2024 年 5 月 23 日
Pick one and code it up. Since they're published papers that people spent years on, I'm sure their algorithm would be more robust than anything you'll find here.
If you don't want to do that then I'd try just using the Color Thresholder app (on the Apps tab of the tool ribbon) to get the lighter things. Then I'd use imerode to disconnect the pads from the lines, then use regionprops to check the circularity of the blobs and throw out the non-circular blobs.
See my Image Segmentation Tutorial in my File Exchange for an example of how to filter blobs based on some attributes:
It's a generic, general purpose demo of how to threshold an image to find blobs, and then measure things about the blobs, and extract certain blobs based on their areas or diameters.
  3 件のコメント
Image Analyst
Image Analyst 2024 年 5 月 23 日
編集済み: Image Analyst 2024 年 5 月 23 日
Did you try the steps I gave you? Is this not a real, important real world project where you don't need it to be robust and perfect, but it's just some homework assignment?
mehmet baki
mehmet baki 2024 年 5 月 23 日
ı know morphological operations how they work but this problems make me confuse. this is part of assignment I try to understand how to solve.

サインインしてコメントする。


DGM
DGM 2024 年 5 月 24 日
This is not robust or applicable to other images or types of packages
% read the image
inpict = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1702191/image.png');
% upscale so that we have enough resolution
% for the features to survive morphological operations
rescalek = 3;
inpict = imresize(inpict,rescalek);
% try to get a mask from what remains of H
[H,~,~] = rgb2hsv(inpict);
mk = H>0.15 & H<0.20;
% clean up the mask
mk = imfill(mk,'holes'); % get rid of holes to keep them from cutting blobs
mk = imopen(mk,strel('disk',3)); % whittle away the traces
mk = bwareaopen(mk,750); % get rid of specks
mk = bwpropfilt(mk,'eccentricity',[0.9 1]); % try to keep only elongated blobs
% we still have a bunch of junk trace chunks left.
% assuming that the only target objects are QFP
% we can maybe use component-scale geometry
% to distinguish the right groups of blobs
mkthick = imdilate(mk,ones(55)); % turn the component footprints into rings
mkthick = bwpropfilt(mkthick,'eulernumber',[0 0]); % select objects with one hole
% combine the masks
mk = mkthick & mk;
% whenever we're done, we can scale things back to original size
% if that's even necessary
mk = imresize(mk,1/rescalek);
imshow(mk,'border','tight')

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by