MATLAB Answers

画像の比較方法について

4 views (last 30 days)
matlabを用いて、部品の検品を行いたいと考えております。
黒い板に穴が開いている部品を検品しようと考えております。
元画像と比較して、穴が開いていない部分や多く空きすぎている部分を赤い丸で囲いたいと考えております。
どのような関数を用いるのが適切でしょうか。
よろしくお願いします。

Accepted Answer

Hernia Baby
Hernia Baby on 23 Aug 2021
imfindcirclesを使用してみるのはいかがでしょうか?
白黒にして比較し絶対値をとると穴が開いてない部分はわかるはずです。
そこにサークルを当てはめるイメージですかね
以下は例の部分を少し書き換えました
A = imread('coins.png');
imshow(A)
B = zeros(size(A));
imshow(B)
[centers, radii, metric] = imfindcircles(A,[15 30]);
centersStrong5 = centers(1:5,:);
radiiStrong5 = radii(1:5);
metricStrong5 = metric(1:5);
viscircles(centersStrong5, radiiStrong5,'EdgeColor','r');
  1 Comment
Ibuki Takahashi
Ibuki Takahashi on 23 Aug 2021
ご回答ありがとうございました。
この方法で、プログラムを書かせていただきましたが、穴が小さすぎてサークルとして判定することができませんでした。
ほかの方法がもしあれば教えていただけますと幸いです。
お時間いただき、ありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!