Hello!
Project changed, so I'm now trying to get these images aligned automatically. I currently have my script to make the image into a binary image, and then select the largest object with a bounding box. I want to get the coordinates of the selected object for the following images to align to it like a reference, but I don't know how.
Thank you!
-Frank
Note: These images are extremely similar to each other, but they show this line moving slightly to the right. (very slightly)
Images:
Code:
A = imread('343A #1.png')background = imopen(A,strel('rectangle',[258 64]));A2 = A - background;A3 = imadjust(A2);levelA = graythresh(A3);bw = im2bw(A3, levelA);bw = im2bw(A3, levelA);bw = bwareaopen(bw,50);ccA = bwconncomp(bw, 4);ccA.NumObjects;labeledA = labelmatrix(ccA);whos labeledA;RGB_labelA = label2rgb(labeledA, @autumn, 'c', 'shuffle');imagedataA = regionprops(ccA, 'basic');imagedataA(1).Area;image_areasA = [imagedataA.Area];[max_area, idx] = max(image_areasA);imageA = false(size(bw));imageA(ccA.PixelIdxList{idx}) = true;figure, imshow(imageA)regionprops(ccA, 'boundingbox', 'Centroid');B = imread('343A #2.png')background = imopen(B, strel('rectangle',[258 64]));B2 = B - background;B3 = imadjust(B2);levelB = graythresh(B3)bw = im2bw(B3, levelB);bw = im2bw(B3, levelB);bw = bwareaopen(bw,50);ccB = bwconncomp(bw, 4);ccB.NumObjectslabeledB = labelmatrix(ccB);whos labeledBRGB_labelB = label2rgb(labeledB, @spring, 'c', 'shuffle');imagedataB = regionprops(ccB, 'basic');imagedataB(1).Areaimage_areasB = [imagedataB.Area];[max_area, idx] = max(image_areasB);imageB = false(size(bw));imageB(ccB.PixelIdxList{idx}) = true;figure, imshow(imageB)regionprops(ccB, 'boundingbox');regionprops(ccB, 'centroid')regionprops(ccA, 'centroid')
p.s. if you know a better way, please share 🙂 I'm really new to MatLab
Best Answer