質問: 画像の比較方法について matlabを用いて、部品の検品を行いたいと考えております。 黒い板に穴が開いている部品を検品しようと考えております。 元画像と比較して、穴が開いていない部分や多く空きすぎている部分を赤い丸で囲いたいと考えております。 どのような関数を用いるのが適切でしょうか。 よろしくお願いします。
回答: 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');